Cache HDC used for painting for the entire duration of WM_PAINT processing.

This fixes a long standing problem with 2 wxPaintDC created one after another
(and not with nested lifetimes, which was handled by the caching mechanism
previously used) not working correctly. And as this was exactly what happened
when handling wxEVT_PAINT for wxScrolled, it also fixes drawing artefacts when
using scrolled windows.

Closes #14757.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72938 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2012-11-10 00:52:54 +00:00
parent 80791c37b5
commit ddc8faa9e1
3 changed files with 139 additions and 142 deletions

View File

@@ -4816,6 +4816,8 @@ bool wxWindowMSW::HandlePaint()
// be called from inside the event handlers called above)
m_updateRegion.Clear();
wxPaintDCImpl::EndPaint((wxWindow *)this);
return processed;
}