[Libreoffice-commits] core.git: framework/source vcl/source
Caolán McNamara
caolanm at redhat.com
Tue Nov 22 14:14:16 UTC 2016
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 <caolanm at 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()
More information about the Libreoffice-commits
mailing list