diff --git a/src/osx/cocoa/window.mm b/src/osx/cocoa/window.mm index 829674fbb8..f1e8142835 100644 --- a/src/osx/cocoa/window.mm +++ b/src/osx/cocoa/window.mm @@ -1227,9 +1227,14 @@ bool wxWidgetCocoaImpl::SetupCursor(WX_NSEvent event) while ( cursorTarget && !cursorTarget->MacSetupCursor( cursorPoint ) ) { + // at least in GTK cursor events are not propagated either ... +#if 1 + cursorTarget = NULL; +#else cursorTarget = cursorTarget->GetParent() ; if ( cursorTarget ) cursorPoint += cursorTarget->GetPosition(); +#endif } return cursorTarget != NULL; diff --git a/src/osx/window_osx.cpp b/src/osx/window_osx.cpp index 7fd9f067d9..d7ef17acce 100644 --- a/src/osx/window_osx.cpp +++ b/src/osx/window_osx.cpp @@ -1814,6 +1814,8 @@ bool wxWindowMac::MacSetupCursor( const wxPoint& pt ) if ( wxRect2DInt( clientorigin.x , clientorigin.y , clientsize.x , clientsize.y ).Contains( wxPoint2DInt( pt ) ) ) { wxSetCursorEvent event( pt.x , pt.y ); + event.SetId(GetId()); + event.SetEventObject(this); bool processedEvtSetCursor = HandleWindowEvent(event); if ( processedEvtSetCursor && event.HasCursor() )