separate non-native mouse handling from IsUserPane

NSOpenGLView is needed under 10.14 as native view, in order to reuse wx touch and mouse handling we trigger this separately from IsUserPane being true
This commit is contained in:
Stefan Csomor 2019-01-03 16:28:19 +01:00
parent a29ea16ccd
commit 5581e5079f
2 changed files with 6 additions and 2 deletions

View File

@ -231,6 +231,10 @@ public :
// we are doing keyboard handling in wx code, other events might be handled natively
virtual bool HasUserKeyHandling() const { return m_wantsUserKey; }
// we are doing mouse handling in wx code, other events might be handled natively
// right now this is always in sync with HasUserKeyHandling
virtual bool HasUserMouseHandling() const { return m_wantsUserKey; }
wxWindowMac* GetWXPeer() const { return m_wxPeer; }
bool IsOk() const { return GetWXWidget() != NULL; }

View File

@ -1454,7 +1454,7 @@ void wxWidgetCocoaImpl::mouseEvent(WX_NSEvent event, WXWidget slf, void *_cmd)
{
// for plain NSView mouse events would propagate to parents otherwise
// scrollwheel events have to be propagated if not handled in all cases
if (!IsUserPane() || [event type] == NSScrollWheel )
if (!HasUserMouseHandling() || [event type] == NSScrollWheel )
{
wxOSX_EventHandlerPtr superimpl = (wxOSX_EventHandlerPtr) [[slf superclass] instanceMethodForSelector:(SEL)_cmd];
superimpl(slf, (SEL)_cmd, event);
@ -3542,7 +3542,7 @@ bool wxWidgetCocoaImpl::EnableTouchEvents(int eventsMask)
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_10
if ( wxPlatformInfo::Get().CheckOSVersion(10, 10) )
{
if ( IsUserPane() )
if ( HasUserMouseHandling() )
{
if ( eventsMask == wxTOUCH_NONE )
{