diff options
-rw-r--r-- | doc/ScintillaDoc.html | 2 | ||||
-rw-r--r-- | src/EditView.cxx | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/doc/ScintillaDoc.html b/doc/ScintillaDoc.html index 54b8b50d9..9cc5cae18 100644 --- a/doc/ScintillaDoc.html +++ b/doc/ScintillaDoc.html @@ -3225,6 +3225,8 @@ struct Sci_TextToFind { drawn before any text and then all the text is drawn in transparent mode over this combined background without clipping text to the line boundaries. This allows extreme ascenders and decenders to overflow into the adjacent lines. + This mode is incompatible with buffered drawing and will act as <code>SC_PHASES_TWO</code> + if buffered drawing is turned on. Multiple phase drawing is slower than two phase drawing. Setting the layout cache to <a class="message" href="#SCI_SETLAYOUTCACHE">SC_CACHE_PAGE</a> or higher can ensure that multiple phase drawing is not significantly slower.</p> diff --git a/src/EditView.cxx b/src/EditView.cxx index 1514b963b..76e54faac 100644 --- a/src/EditView.cxx +++ b/src/EditView.cxx @@ -1702,7 +1702,7 @@ void EditView::PaintText(Surface *surfaceWindow, const EditModel &model, PRectan int lineDocPrevious = -1; // Used to avoid laying out one document line multiple times AutoLineLayout ll(llc, 0); std::vector<DrawPhase> phases; - if (phasesDraw == phasesMultiple) { + if ((phasesDraw == phasesMultiple) && !bufferedDraw) { for (DrawPhase phase = drawBack; phase <= drawCarets; phase = static_cast<DrawPhase>(phase * 2)) { phases.push_back(phase); } |