Allow to not create wxPaintDC in EVT_PAINT handler in wxMSW.
Failure to create a wxPaintDC in EVT_PAINT handler resulted in many serious and difficult to debug problems under wxMSW. We used to document that the user shouldn't do it but this wasn't enough (see #11648). We could also assert if we detected that a handler didn't create a wxPaintDC but it seems better to just handle this case gracefully for consistency with the other platforms. Add wxDidCreatePaintDC global variable which is reset before generating wxPaintEvent and set to true when ::BeginPaint() is called from wxPaintDC ctor and validate the update region of the window ourselves if it wasn't set (meaning that wxPaintDC wasn't created). Update the documentation to emphasize the link between EVT_PAINT handlers and wxPaintDC but without saying that wxPaintDC object must always be created in the handler as this is not true any more. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63229 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -517,6 +517,7 @@ MSW:
|
||||
- Worked around child window and caret positioning bug (in Windows) when using
|
||||
wxBORDER_THEME in a container window.
|
||||
- Suppressed spurious character event for decimal key in numeric keypad.
|
||||
- Allow to not create wxPaintDC in EVT_PAINT handler.
|
||||
|
||||
i18n:
|
||||
|
||||
|
Reference in New Issue
Block a user