Fix wxSetCursorEvent handling

For compatibility with wxMSW, send event up the parent chain.
Properly handle setting the cursor for a wxSetCursorEvent, and don't overwrite the window cursor.
see #15801


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75821 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Paul Cornett
2014-02-06 08:54:17 +00:00
parent 0dfeb74e78
commit 9d0d2b7e98
2 changed files with 36 additions and 20 deletions

View File

@@ -330,19 +330,23 @@ public:
// find the direction of the given scrollbar (must be one of ours)
ScrollDir ScrollDirFromRange(GtkRange *range) const;
void GTKUpdateCursor(bool isBusyOrGlobalCursor = false, bool isRealize = false);
void GTKUpdateCursor(
bool isBusyOrGlobalCursor = false,
bool isRealize = false,
const wxCursor* overrideCursor = NULL);
// extra (wxGTK-specific) flags
bool m_noExpose:1; // wxGLCanvas has its own redrawing
bool m_nativeSizeEvent:1; // wxGLCanvas sends wxSizeEvent upon "alloc_size"
bool m_isScrolling:1; // dragging scrollbar thumb?
bool m_clipPaintRegion:1; // true after ScrollWindow()
wxRegion m_nativeUpdateRegion; // not transformed for RTL
bool m_dirtyTabOrder:1; // tab order changed, GTK focus
// chain needs update
bool m_mouseButtonDown:1;
bool m_showOnIdle:1; // postpone showing the window until idle
bool m_needCursorReset:1;
wxRegion m_nativeUpdateRegion; // not transformed for RTL
protected:
// implement the base class pure virtuals