framework/source/layoutmanager/toolbarlayoutmanager.cxx | 3 +++ vcl/source/window/dockmgr.cxx | 3 +++ vcl/source/window/dockwin.cxx | 2 ++ 3 files changed, 8 insertions(+)
New commits: commit 19c3559e873e79a178e9c4932363e2a2cc1b9ac0 Author: Caolán McNamara <caol...@redhat.com> Date: Tue Nov 22 13:43:32 2016 +0000 Resolves: rhbz#1397181 toolbar layout manager not respecting drag cancel plus restore original mbDockCanceled state after wayland-enforced cancel otherwise next drag won't work Change-Id: Idefed25b925b36d0bf72b77609c4fc2eb47f71b9 diff --git a/framework/source/layoutmanager/toolbarlayoutmanager.cxx b/framework/source/layoutmanager/toolbarlayoutmanager.cxx index 583d622..b770fd8 100644 --- a/framework/source/layoutmanager/toolbarlayoutmanager.cxx +++ b/framework/source/layoutmanager/toolbarlayoutmanager.cxx @@ -3476,6 +3476,9 @@ throw (uno::RuntimeException, std::exception) void SAL_CALL ToolbarLayoutManager::endDocking( const awt::EndDockingEvent& e ) throw (uno::RuntimeException, std::exception) { + if (e.bCancelled) + return; + bool bDockingInProgress( false ); bool bStartDockFloated( false ); bool bFloating( false ); diff --git a/vcl/source/window/dockmgr.cxx b/vcl/source/window/dockmgr.cxx index 9012a90..1467df8 100644 --- a/vcl/source/window/dockmgr.cxx +++ b/vcl/source/window/dockmgr.cxx @@ -935,6 +935,7 @@ void ImplDockingWindowWrapper::EndDocking( const Rectangle& rRect, bool bFloatMo { Rectangle aRect( rRect ); + bool bOrigDockCanceled = mbDockCanceled; if (bFloatMode && !StyleSettings::GetDockingFloatsSupported()) mbDockCanceled = true; @@ -971,6 +972,8 @@ void ImplDockingWindowWrapper::EndDocking( const Rectangle& rRect, bool bFloatMo // must be enabled in Window::Notify to prevent permanent docking during mouse move mbStartDockingEnabled = false; + + mbDockCanceled = bOrigDockCanceled; } bool ImplDockingWindowWrapper::PrepareToggleFloatingMode() diff --git a/vcl/source/window/dockwin.cxx b/vcl/source/window/dockwin.cxx index 8f63c69..7d3ba8b 100644 --- a/vcl/source/window/dockwin.cxx +++ b/vcl/source/window/dockwin.cxx @@ -589,6 +589,7 @@ bool DockingWindow::Docking( const Point&, Rectangle& ) void DockingWindow::EndDocking( const Rectangle& rRect, bool bFloatMode ) { + bool bOrigDockCanceled = mbDockCanceled; if (bFloatMode && !StyleSettings::GetDockingFloatsSupported()) mbDockCanceled = true; @@ -614,6 +615,7 @@ void DockingWindow::EndDocking( const Rectangle& rRect, bool bFloatMode ) Show(); } mbDocking = false; + mbDockCanceled = bOrigDockCanceled; } bool DockingWindow::PrepareToggleFloatingMode()
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits