Kaydet (Commit) e02f5d42 authored tarafından Ras-al-Ghul's avatar Ras-al-Ghul Kaydeden (comit) Michael Meeks

tdf#96888 Kill internal vcl dog-tags ..

Deleted a couple of clear statements

Change-Id: I6ca2c565842e1b33b3e52724981f95b634e94263
Reviewed-on: https://gerrit.libreoffice.org/21275Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarMichael Meeks <michael.meeks@collabora.com>
Tested-by: 's avatarMichael Meeks <michael.meeks@collabora.com>
üst 60790935
...@@ -404,7 +404,7 @@ public: ...@@ -404,7 +404,7 @@ public:
// helper methods // helper methods
bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool bMouseLeave, bool ImplHandleMouseEvent( const VclPtr<vcl::Window>& xWindow, MouseNotifyEvent nSVEvent, bool bMouseLeave,
long nX, long nY, sal_uInt64 nMsgTime, long nX, long nY, sal_uInt64 nMsgTime,
sal_uInt16 nCode, MouseEventModifiers nMode ); sal_uInt16 nCode, MouseEventModifiers nMode );
void ImplHandleResize( vcl::Window* pWindow, long nNewWidth, long nNewHeight ); void ImplHandleResize( vcl::Window* pWindow, long nNewWidth, long nNewHeight );
......
...@@ -196,7 +196,7 @@ static void ImplSetMousePointer( vcl::Window* pChild ) ...@@ -196,7 +196,7 @@ static void ImplSetMousePointer( vcl::Window* pChild )
pChild->ImplGetFrame()->SetPointer( pChild->ImplGetMousePointer() ); pChild->ImplGetFrame()->SetPointer( pChild->ImplGetMousePointer() );
} }
static bool ImplCallCommand( vcl::Window* pChild, CommandEventId nEvt, void* pData = nullptr, static bool ImplCallCommand( const VclPtr<vcl::Window>& pChild, CommandEventId nEvt, void* pData = nullptr,
bool bMouse = false, Point* pPos = nullptr ) bool bMouse = false, Point* pPos = nullptr )
{ {
Point aPos; Point aPos;
...@@ -216,19 +216,18 @@ static bool ImplCallCommand( vcl::Window* pChild, CommandEventId nEvt, void* pDa ...@@ -216,19 +216,18 @@ static bool ImplCallCommand( vcl::Window* pChild, CommandEventId nEvt, void* pDa
CommandEvent aCEvt( aPos, nEvt, bMouse, pData ); CommandEvent aCEvt( aPos, nEvt, bMouse, pData );
NotifyEvent aNCmdEvt( MouseNotifyEvent::COMMAND, pChild, &aCEvt ); NotifyEvent aNCmdEvt( MouseNotifyEvent::COMMAND, pChild, &aCEvt );
VclPtr<vcl::Window> xWindow = pChild;
bool bPreNotify = ImplCallPreNotify( aNCmdEvt ); bool bPreNotify = ImplCallPreNotify( aNCmdEvt );
if ( xWindow->IsDisposed() ) if ( pChild->IsDisposed() )
return false; return false;
if ( !bPreNotify ) if ( !bPreNotify )
{ {
pChild->ImplGetWindowImpl()->mbCommand = false; pChild->ImplGetWindowImpl()->mbCommand = false;
pChild->Command( aCEvt ); pChild->Command( aCEvt );
if( xWindow->IsDisposed() ) if( pChild->IsDisposed() )
return false; return false;
pChild->ImplNotifyKeyMouseCommandEventListeners( aNCmdEvt ); pChild->ImplNotifyKeyMouseCommandEventListeners( aNCmdEvt );
if ( xWindow->IsDisposed() ) if ( pChild->IsDisposed() )
return false; return false;
if ( pChild->ImplGetWindowImpl()->mbCommand ) if ( pChild->ImplGetWindowImpl()->mbCommand )
return true; return true;
...@@ -244,7 +243,6 @@ static bool ImplCallCommand( vcl::Window* pChild, CommandEventId nEvt, void* pDa ...@@ -244,7 +243,6 @@ static bool ImplCallCommand( vcl::Window* pChild, CommandEventId nEvt, void* pDa
struct ContextMenuEvent struct ContextMenuEvent
{ {
VclPtr<vcl::Window> pWindow; VclPtr<vcl::Window> pWindow;
ImplDelData aDelData;
Point aChildPos; Point aChildPos;
}; };
...@@ -252,24 +250,23 @@ static void ContextMenuEventLink( void* pCEvent, void* ) ...@@ -252,24 +250,23 @@ static void ContextMenuEventLink( void* pCEvent, void* )
{ {
ContextMenuEvent* pEv = static_cast<ContextMenuEvent*>(pCEvent); ContextMenuEvent* pEv = static_cast<ContextMenuEvent*>(pCEvent);
if( ! pEv->aDelData.IsDead() ) if( ! pEv->pWindow->IsDisposed() )
{ {
pEv->pWindow->ImplRemoveDel( &pEv->aDelData );
ImplCallCommand( pEv->pWindow, CommandEventId::ContextMenu, nullptr, true, &pEv->aChildPos ); ImplCallCommand( pEv->pWindow, CommandEventId::ContextMenu, nullptr, true, &pEv->aChildPos );
} }
delete pEv; delete pEv;
} }
bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool bMouseLeave, bool ImplHandleMouseEvent( const VclPtr<vcl::Window>& xWindow, MouseNotifyEvent nSVEvent, bool bMouseLeave,
long nX, long nY, sal_uInt64 nMsgTime, long nX, long nY, sal_uInt64 nMsgTime,
sal_uInt16 nCode, MouseEventModifiers nMode ) sal_uInt16 nCode, MouseEventModifiers nMode )
{ {
ImplSVData* pSVData = ImplGetSVData(); ImplSVData* pSVData = ImplGetSVData();
Point aMousePos( nX, nY ); Point aMousePos( nX, nY );
vcl::Window* pChild(nullptr); VclPtr<vcl::Window> pChild;
bool bRet(false); bool bRet(false);
sal_uInt16 nClicks(0); sal_uInt16 nClicks(0);
ImplFrameData* pWinFrameData = pWindow->ImplGetFrameData(); ImplFrameData* pWinFrameData = xWindow->ImplGetFrameData();
sal_uInt16 nOldCode = pWinFrameData->mnMouseCode; sal_uInt16 nOldCode = pWinFrameData->mnMouseCode;
// we need a mousemove event, before we get a mousebuttondown or a // we need a mousemove event, before we get a mousebuttondown or a
...@@ -280,10 +277,10 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool ...@@ -280,10 +277,10 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool
Help::EndExtHelp(); Help::EndExtHelp();
if ( pSVData->maHelpData.mpHelpWin ) if ( pSVData->maHelpData.mpHelpWin )
{ {
if( pWindow->ImplGetWindow() == pSVData->maHelpData.mpHelpWin ) if( xWindow->ImplGetWindow() == pSVData->maHelpData.mpHelpWin )
{ {
ImplDestroyHelpWindow( false ); ImplDestroyHelpWindow( false );
return true; // pWindow is dead now - avoid crash! return true; // xWindow is dead now - avoid crash!
} }
else else
ImplDestroyHelpWindow( true ); ImplDestroyHelpWindow( true );
...@@ -292,7 +289,7 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool ...@@ -292,7 +289,7 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool
if ( (pWinFrameData->mnLastMouseX != nX) || if ( (pWinFrameData->mnLastMouseX != nX) ||
(pWinFrameData->mnLastMouseY != nY) ) (pWinFrameData->mnLastMouseY != nY) )
{ {
ImplHandleMouseEvent( pWindow, MouseNotifyEvent::MOUSEMOVE, false, nX, nY, nMsgTime, nCode, nMode ); ImplHandleMouseEvent( xWindow, MouseNotifyEvent::MOUSEMOVE, false, nX, nY, nMsgTime, nCode, nMode );
} }
} }
...@@ -309,12 +306,10 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool ...@@ -309,12 +306,10 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool
pWinFrameData->mbMouseIn = false; pWinFrameData->mbMouseIn = false;
if ( pSVData->maHelpData.mpHelpWin && !pSVData->maHelpData.mbKeyboardHelp ) if ( pSVData->maHelpData.mpHelpWin && !pSVData->maHelpData.mbKeyboardHelp )
{ {
ImplDelData aDelData( pWindow );
ImplDestroyHelpWindow( true ); ImplDestroyHelpWindow( true );
if ( aDelData.IsDead() ) if ( xWindow->IsDisposed() )
return true; // pWindow is dead now - avoid crash! (#122045#) return true; // xWindow is dead now - avoid crash! (#122045#)
} }
} }
else else
...@@ -336,11 +331,11 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool ...@@ -336,11 +331,11 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool
{ {
pChild = pSVData->maWinData.mpCaptureWin; pChild = pSVData->maWinData.mpCaptureWin;
DBG_ASSERT( pWindow == pChild->ImplGetFrameWindow(), DBG_ASSERT( xWindow == pChild->ImplGetFrameWindow(),
"ImplHandleMouseEvent: mouse event is not sent to capture window" ); "ImplHandleMouseEvent: mouse event is not sent to capture window" );
// java client cannot capture mouse correctly // java client cannot capture mouse correctly
if ( pWindow != pChild->ImplGetFrameWindow() ) if ( xWindow != pChild->ImplGetFrameWindow() )
return false; return false;
if ( bMouseLeave ) if ( bMouseLeave )
...@@ -351,7 +346,7 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool ...@@ -351,7 +346,7 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool
if ( bMouseLeave ) if ( bMouseLeave )
pChild = nullptr; pChild = nullptr;
else else
pChild = pWindow->ImplFindWindow( aMousePos ); pChild = xWindow->ImplFindWindow( aMousePos );
} }
// test this because mouse events are buffered in the remote version // test this because mouse events are buffered in the remote version
...@@ -527,13 +522,10 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool ...@@ -527,13 +522,10 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool
Point aLeaveMousePos = pMouseMoveWin->ImplFrameToOutput( aMousePos ); Point aLeaveMousePos = pMouseMoveWin->ImplFrameToOutput( aMousePos );
MouseEvent aMLeaveEvt( aLeaveMousePos, nClicks, nMode | MouseEventModifiers::LEAVEWINDOW, nCode, nCode ); MouseEvent aMLeaveEvt( aLeaveMousePos, nClicks, nMode | MouseEventModifiers::LEAVEWINDOW, nCode, nCode );
NotifyEvent aNLeaveEvt( MouseNotifyEvent::MOUSEMOVE, pMouseMoveWin, &aMLeaveEvt ); NotifyEvent aNLeaveEvt( MouseNotifyEvent::MOUSEMOVE, pMouseMoveWin, &aMLeaveEvt );
VclPtr<vcl::Window> xWindow;
pWinFrameData->mbInMouseMove = true; pWinFrameData->mbInMouseMove = true;
pMouseMoveWin->ImplGetWinData()->mbMouseOver = false; pMouseMoveWin->ImplGetWinData()->mbMouseOver = false;
// A MouseLeave can destroy this window // A MouseLeave can destroy this window
if ( pChild )
xWindow = pChild;
if ( !ImplCallPreNotify( aNLeaveEvt ) ) if ( !ImplCallPreNotify( aNLeaveEvt ) )
{ {
pMouseMoveWin->MouseMove( aMLeaveEvt ); pMouseMoveWin->MouseMove( aMLeaveEvt );
...@@ -546,10 +538,8 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool ...@@ -546,10 +538,8 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool
if ( pChild ) if ( pChild )
{ {
if ( xWindow->IsDisposed() ) if ( pChild->IsDisposed() )
pChild = nullptr; pChild = nullptr;
else
xWindow.clear();
} }
if ( pMouseMoveWin->IsDisposed() ) if ( pMouseMoveWin->IsDisposed() )
return true; return true;
...@@ -627,19 +617,14 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool ...@@ -627,19 +617,14 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool
// handle FloatingMode // handle FloatingMode
if ( !pSVData->maWinData.mpTrackWin && pSVData->maWinData.mpFirstFloat ) if ( !pSVData->maWinData.mpTrackWin && pSVData->maWinData.mpFirstFloat )
{ {
ImplDelData aDelData;
pChild->ImplAddDel( &aDelData );
if ( ImplHandleMouseFloatMode( pChild, aMousePos, nCode, nSVEvent, bMouseLeave ) ) if ( ImplHandleMouseFloatMode( pChild, aMousePos, nCode, nSVEvent, bMouseLeave ) )
{ {
if ( !aDelData.IsDead() ) if ( !pChild->IsDisposed() )
{ {
pChild->ImplRemoveDel( &aDelData );
pChild->ImplGetFrameData()->mbStartDragCalled = true; pChild->ImplGetFrameData()->mbStartDragCalled = true;
} }
return true; return true;
} }
else
pChild->ImplRemoveDel( &aDelData );
} }
// call handler // call handler
...@@ -650,9 +635,7 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool ...@@ -650,9 +635,7 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool
if (!pChild) if (!pChild)
return false; return false;
ImplDelData aDelData;
NotifyEvent aNEvt( nSVEvent, pChild, &aMEvt ); NotifyEvent aNEvt( nSVEvent, pChild, &aMEvt );
pChild->ImplAddDel( &aDelData );
if ( nSVEvent == MouseNotifyEvent::MOUSEMOVE ) if ( nSVEvent == MouseNotifyEvent::MOUSEMOVE )
pChild->ImplGetFrameData()->mbInMouseMove = true; pChild->ImplGetFrameData()->mbInMouseMove = true;
...@@ -662,11 +645,11 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool ...@@ -662,11 +645,11 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool
if( !pSVData->maWinData.mpFirstFloat && // totop for floating windows in popup would change the focus and would close them immediately if( !pSVData->maWinData.mpFirstFloat && // totop for floating windows in popup would change the focus and would close them immediately
!(pChild->ImplGetFrameWindow()->GetStyle() & WB_OWNERDRAWDECORATION) ) // ownerdrawdecorated windows must never grab focus !(pChild->ImplGetFrameWindow()->GetStyle() & WB_OWNERDRAWDECORATION) ) // ownerdrawdecorated windows must never grab focus
pChild->ToTop(); pChild->ToTop();
if ( aDelData.IsDead() ) if ( pChild->IsDisposed() )
return true; return true;
} }
if ( ImplCallPreNotify( aNEvt ) || aDelData.IsDead() ) if ( ImplCallPreNotify( aNEvt ) || pChild->IsDisposed() )
bRet = true; bRet = true;
else else
{ {
...@@ -677,7 +660,7 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool ...@@ -677,7 +660,7 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool
{ {
TrackingEvent aTEvt( aMEvt ); TrackingEvent aTEvt( aMEvt );
pChild->Tracking( aTEvt ); pChild->Tracking( aTEvt );
if ( !aDelData.IsDead() ) if ( !pChild->IsDisposed() )
{ {
// When ScrollRepeat, we restart the timer // When ScrollRepeat, we restart the timer
if ( pSVData->maWinData.mpTrackTimer && if ( pSVData->maWinData.mpTrackTimer &&
...@@ -694,7 +677,7 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool ...@@ -694,7 +677,7 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool
(pChild->GetSettings().GetMouseSettings().GetOptions() & MouseSettingsOptions::AutoFocus) ) (pChild->GetSettings().GetMouseSettings().GetOptions() & MouseSettingsOptions::AutoFocus) )
pChild->ToTop( ToTopFlags::NoGrabFocus ); pChild->ToTop( ToTopFlags::NoGrabFocus );
if( aDelData.IsDead() ) if( pChild->IsDisposed() )
bCallHelpRequest = false; bCallHelpRequest = false;
else else
{ {
...@@ -735,11 +718,11 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool ...@@ -735,11 +718,11 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool
assert(aNEvt.GetWindow() == pChild); assert(aNEvt.GetWindow() == pChild);
if (!pChild->isDisposed() || !aDelData.IsDead()) if (!pChild->IsDisposed())
pChild->ImplNotifyKeyMouseCommandEventListeners( aNEvt ); pChild->ImplNotifyKeyMouseCommandEventListeners( aNEvt );
} }
if (pChild->isDisposed() || aDelData.IsDead()) if (pChild->IsDisposed())
return true; return true;
if ( nSVEvent == MouseNotifyEvent::MOUSEMOVE ) if ( nSVEvent == MouseNotifyEvent::MOUSEMOVE )
...@@ -765,8 +748,6 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool ...@@ -765,8 +748,6 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool
} }
} }
pChild->ImplRemoveDel( &aDelData );
if ( nSVEvent == MouseNotifyEvent::MOUSEMOVE ) if ( nSVEvent == MouseNotifyEvent::MOUSEMOVE )
{ {
// set new mouse pointer // set new mouse pointer
...@@ -810,7 +791,6 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool ...@@ -810,7 +791,6 @@ bool ImplHandleMouseEvent( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, bool
ContextMenuEvent* pEv = new ContextMenuEvent; ContextMenuEvent* pEv = new ContextMenuEvent;
pEv->pWindow = pChild; pEv->pWindow = pChild;
pEv->aChildPos = aChildPos; pEv->aChildPos = aChildPos;
pChild->ImplAddDel( &pEv->aDelData );
Application::PostUserEvent( Link<void*,void>( pEv, ContextMenuEventLink ) ); Application::PostUserEvent( Link<void*,void>( pEv, ContextMenuEventLink ) );
} }
else else
...@@ -985,7 +965,7 @@ static bool ImplHandleKey( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, ...@@ -985,7 +965,7 @@ static bool ImplHandleKey( vcl::Window* pWindow, MouseNotifyEvent nSVEvent,
} }
// find window // find window
vcl::Window* pChild = ImplGetKeyInputWindow( pWindow ); VclPtr<vcl::Window> pChild = ImplGetKeyInputWindow( pWindow );
if ( !pChild ) if ( !pChild )
return false; return false;
...@@ -995,16 +975,12 @@ static bool ImplHandleKey( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, ...@@ -995,16 +975,12 @@ static bool ImplHandleKey( vcl::Window* pWindow, MouseNotifyEvent nSVEvent,
pChildOutDev->HasMirroredGraphics() && pChild->IsRTLEnabled() ) pChildOutDev->HasMirroredGraphics() && pChild->IsRTLEnabled() )
aKeyCode = vcl::KeyCode( aKeyCode.GetCode() == KEY_LEFT ? KEY_RIGHT : KEY_LEFT, aKeyCode.GetModifier() ); aKeyCode = vcl::KeyCode( aKeyCode.GetCode() == KEY_LEFT ? KEY_RIGHT : KEY_LEFT, aKeyCode.GetModifier() );
// call handler
ImplDelData aDelData;
pChild->ImplAddDel( &aDelData );
KeyEvent aKeyEvt( (sal_Unicode)nCharCode, aKeyCode, nRepeat ); KeyEvent aKeyEvt( (sal_Unicode)nCharCode, aKeyCode, nRepeat );
NotifyEvent aNotifyEvt( nSVEvent, pChild, &aKeyEvt ); NotifyEvent aNotifyEvt( nSVEvent, pChild, &aKeyEvt );
bool bKeyPreNotify = ImplCallPreNotify( aNotifyEvt ); bool bKeyPreNotify = ImplCallPreNotify( aNotifyEvt );
bool bRet = true; bool bRet = true;
if ( !bKeyPreNotify && !aDelData.IsDead() ) if ( !bKeyPreNotify && !pChild->IsDisposed() )
{ {
if ( nSVEvent == MouseNotifyEvent::KEYINPUT ) if ( nSVEvent == MouseNotifyEvent::KEYINPUT )
{ {
...@@ -1016,15 +992,13 @@ static bool ImplHandleKey( vcl::Window* pWindow, MouseNotifyEvent nSVEvent, ...@@ -1016,15 +992,13 @@ static bool ImplHandleKey( vcl::Window* pWindow, MouseNotifyEvent nSVEvent,
pChild->ImplGetWindowImpl()->mbKeyUp = false; pChild->ImplGetWindowImpl()->mbKeyUp = false;
pChild->KeyUp( aKeyEvt ); pChild->KeyUp( aKeyEvt );
} }
if( !aDelData.IsDead() ) if( !pChild->IsDisposed() )
aNotifyEvt.GetWindow()->ImplNotifyKeyMouseCommandEventListeners( aNotifyEvt ); aNotifyEvt.GetWindow()->ImplNotifyKeyMouseCommandEventListeners( aNotifyEvt );
} }
if ( aDelData.IsDead() ) if ( pChild->IsDisposed() )
return true; return true;
pChild->ImplRemoveDel( &aDelData );
if ( nSVEvent == MouseNotifyEvent::KEYINPUT ) if ( nSVEvent == MouseNotifyEvent::KEYINPUT )
{ {
if ( !bKeyPreNotify && pChild->ImplGetWindowImpl()->mbKeyInput ) if ( !bKeyPreNotify && pChild->ImplGetWindowImpl()->mbKeyInput )
...@@ -1316,7 +1290,7 @@ static bool ImplHandleInputContextChange( vcl::Window* pWindow, LanguageType eNe ...@@ -1316,7 +1290,7 @@ static bool ImplHandleInputContextChange( vcl::Window* pWindow, LanguageType eNe
return !ImplCallCommand( pChild, CommandEventId::InputContextChange, &aData ); return !ImplCallCommand( pChild, CommandEventId::InputContextChange, &aData );
} }
static bool ImplCallWheelCommand( vcl::Window* pWindow, const Point& rPos, static bool ImplCallWheelCommand( const VclPtr<vcl::Window>& pWindow, const Point& rPos,
const CommandWheelData* pWheelData ) const CommandWheelData* pWheelData )
{ {
Point aCmdMousePos = pWindow->ImplFrameToOutput( rPos ); Point aCmdMousePos = pWindow->ImplFrameToOutput( rPos );
...@@ -1324,13 +1298,13 @@ static bool ImplCallWheelCommand( vcl::Window* pWindow, const Point& rPos, ...@@ -1324,13 +1298,13 @@ static bool ImplCallWheelCommand( vcl::Window* pWindow, const Point& rPos,
NotifyEvent aNCmdEvt( MouseNotifyEvent::COMMAND, pWindow, &aCEvt ); NotifyEvent aNCmdEvt( MouseNotifyEvent::COMMAND, pWindow, &aCEvt );
ImplDelData aDelData( pWindow ); ImplDelData aDelData( pWindow );
bool bPreNotify = ImplCallPreNotify( aNCmdEvt ); bool bPreNotify = ImplCallPreNotify( aNCmdEvt );
if ( aDelData.IsDead() ) if ( pWindow->IsDisposed() )
return false; return false;
if ( !bPreNotify ) if ( !bPreNotify )
{ {
pWindow->ImplGetWindowImpl()->mbCommand = false; pWindow->ImplGetWindowImpl()->mbCommand = false;
pWindow->Command( aCEvt ); pWindow->Command( aCEvt );
if ( aDelData.IsDead() ) if ( pWindow->IsDisposed() )
return false; return false;
if ( pWindow->ImplGetWindowImpl()->mbCommand ) if ( pWindow->ImplGetWindowImpl()->mbCommand )
return true; return true;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment