Reusing a cached wxPaintDC should count as painting the window, otherwise we
could call DefWindowProc(WM_PAINT) if WM_PAINT was generated from inside
EVT_PAINT handler (e.g. by calling wxWindow::Update()) and this validated the
entire window and no painting was really done.
In particular this fixes redrawing of wxStyledTextCtrl which does call
Update() (completely unnecessarily AFAICS) from its EVT_PAINT handler when it
wants to fully refresh itself.
Closes #13345.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68337
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
}
#endif // wxHAS_PAINT_DEBUG
+ // see comments in src/msw/window.cpp where this is defined
+ extern bool wxDidCreatePaintDC;
+
+ wxDidCreatePaintDC = true;
+
+
m_window = window;
// do we have a DC for this window in the cache?
}
else // not in cache, create a new one
{
- // see comments in src/msw/window.cpp where this is defined
- extern bool wxDidCreatePaintDC;
-
- wxDidCreatePaintDC = true;
-
m_hDC = (WXHDC)::BeginPaint(GetHwndOf(m_window), &g_paintStruct);
if (m_hDC)
ms_cache.Add(new wxPaintDCInfo(m_window, this));