diff --git a/contrib/src/stc/ScintillaWX.cpp b/contrib/src/stc/ScintillaWX.cpp index 1fbbf77860..26e966cf36 100644 --- a/contrib/src/stc/ScintillaWX.cpp +++ b/contrib/src/stc/ScintillaWX.cpp @@ -528,7 +528,7 @@ void ScintillaWX::DoPaint(wxDC* dc, wxRect rect) { delete surfaceWindow; if (paintState == paintAbandoned) { // Painting area was insufficient to cover new styling or brace highlight positions - FullPaint(); + FullPaint(dc); } paintState = notPainting; } @@ -833,18 +833,18 @@ void ScintillaWX::DoDragLeave() { //---------------------------------------------------------------------- // Redraw all of text area. This paint will not be abandoned. -void ScintillaWX::FullPaint() { +void ScintillaWX::FullPaint(wxDC *dc) { + wxCHECK_RET(dc != NULL, wxT("Invalid wxDC in ScintillaWX::FillPaint")); paintState = painting; rcPaint = GetClientRectangle(); paintingAllText = true; - wxClientDC dc(stc); Surface* surfaceWindow = Surface::Allocate(); - surfaceWindow->Init(&dc, wMain.GetID()); + surfaceWindow->Init(dc, wMain.GetID()); - dc.BeginDrawing(); - ClipChildren(dc, rcPaint); + dc->BeginDrawing(); + ClipChildren(*dc, rcPaint); Paint(surfaceWindow, rcPaint); - dc.EndDrawing(); + dc->EndDrawing(); delete surfaceWindow; paintState = notPainting; diff --git a/contrib/src/stc/ScintillaWX.h b/contrib/src/stc/ScintillaWX.h index d0d383d507..799e58ed5a 100644 --- a/contrib/src/stc/ScintillaWX.h +++ b/contrib/src/stc/ScintillaWX.h @@ -156,7 +156,7 @@ public: // helpers - void FullPaint(); + void FullPaint(wxDC *dc); bool CanPaste(); bool GetHideSelection() { return hideSelection; } void DoScrollToLine(int line); diff --git a/src/stc/ScintillaWX.cpp b/src/stc/ScintillaWX.cpp index 1fbbf77860..26e966cf36 100644 --- a/src/stc/ScintillaWX.cpp +++ b/src/stc/ScintillaWX.cpp @@ -528,7 +528,7 @@ void ScintillaWX::DoPaint(wxDC* dc, wxRect rect) { delete surfaceWindow; if (paintState == paintAbandoned) { // Painting area was insufficient to cover new styling or brace highlight positions - FullPaint(); + FullPaint(dc); } paintState = notPainting; } @@ -833,18 +833,18 @@ void ScintillaWX::DoDragLeave() { //---------------------------------------------------------------------- // Redraw all of text area. This paint will not be abandoned. -void ScintillaWX::FullPaint() { +void ScintillaWX::FullPaint(wxDC *dc) { + wxCHECK_RET(dc != NULL, wxT("Invalid wxDC in ScintillaWX::FillPaint")); paintState = painting; rcPaint = GetClientRectangle(); paintingAllText = true; - wxClientDC dc(stc); Surface* surfaceWindow = Surface::Allocate(); - surfaceWindow->Init(&dc, wMain.GetID()); + surfaceWindow->Init(dc, wMain.GetID()); - dc.BeginDrawing(); - ClipChildren(dc, rcPaint); + dc->BeginDrawing(); + ClipChildren(*dc, rcPaint); Paint(surfaceWindow, rcPaint); - dc.EndDrawing(); + dc->EndDrawing(); delete surfaceWindow; paintState = notPainting; diff --git a/src/stc/ScintillaWX.h b/src/stc/ScintillaWX.h index d0d383d507..799e58ed5a 100644 --- a/src/stc/ScintillaWX.h +++ b/src/stc/ScintillaWX.h @@ -156,7 +156,7 @@ public: // helpers - void FullPaint(); + void FullPaint(wxDC *dc); bool CanPaste(); bool GetHideSelection() { return hideSelection; } void DoScrollToLine(int line);