X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1f575e656994f0692712d5a4fbc0e07db825c974..c663fbea6851207b4e0ac3e362868c23b1494a46:/contrib/src/stc/ScintillaWX.cpp diff --git a/contrib/src/stc/ScintillaWX.cpp b/contrib/src/stc/ScintillaWX.cpp index 9b9addb843..485b612cc9 100644 --- a/contrib/src/stc/ScintillaWX.cpp +++ b/contrib/src/stc/ScintillaWX.cpp @@ -542,14 +542,15 @@ void ScintillaWX::DoPaint(wxDC* dc, wxRect rect) { dc->BeginDrawing(); ClipChildren(*dc, rcPaint); Paint(surfaceWindow, rcPaint); - dc->EndDrawing(); delete surfaceWindow; if (paintState == paintAbandoned) { - // Painting area was insufficient to cover new styling or brace highlight positions - FullPaint(dc); + // Painting area was insufficient to cover new styling or brace + // highlight positions + FullPaint(); } paintState = notPainting; + dc->EndDrawing(); } @@ -860,22 +861,10 @@ void ScintillaWX::DoDragLeave() { #endif //---------------------------------------------------------------------- -// Redraw all of text area. This paint will not be abandoned. -void ScintillaWX::FullPaint(wxDC *dc) { - wxCHECK_RET(dc != NULL, wxT("Invalid wxDC in ScintillaWX::FillPaint")); - paintState = painting; - rcPaint = GetClientRectangle(); - paintingAllText = true; - Surface* surfaceWindow = Surface::Allocate(); - surfaceWindow->Init(dc, wMain.GetID()); - - dc->BeginDrawing(); - ClipChildren(*dc, rcPaint); - Paint(surfaceWindow, rcPaint); - dc->EndDrawing(); - - delete surfaceWindow; - paintState = notPainting; +// Force the whole window to be repainted +void ScintillaWX::FullPaint() { + stc->Refresh(false); + stc->Update(); }