Fix erasing wxHtmlWindow background in wxUniv.

Prevent the default wxWindow-level wxEVT_ERASE_BACKGROUND handler from being
used in wxUniv for wxHtmlWindow. This is unnecessary as it has its own handler
anyhow and also doesn't work for some reason as erasing wxMemoryDC by drawing
a solid rectangle over it seems to be broken in at least wxX11.

Work around this problem by erasing the background in wxHtmlWindow itself if
no user-defined (as opposed to any, including one defined in wxWindow itself)
handler for this event exists.

Closes #13880.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71300 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2012-04-28 22:24:43 +00:00
parent 4fbb421ba9
commit 49b489e80f
2 changed files with 28 additions and 3 deletions

View File

@@ -403,6 +403,7 @@ protected:
void CreateLayout();
void OnPaint(wxPaintEvent& event);
void OnEraseBackground(wxEraseEvent& event);
void OnSize(wxSizeEvent& event);
void OnMouseMove(wxMouseEvent& event);
void OnMouseDown(wxMouseEvent& event);
@@ -545,6 +546,10 @@ private:
// if this FLAG is false, items are not added to history
bool m_HistoryOn;
// Flag used to communicate between OnPaint() and OnEraseBackground(), see
// the comments near its use.
bool m_isBgReallyErased;
// standard mouse cursors
static wxCursor *ms_cursorLink;
static wxCursor *ms_cursorText;