Blob Blame History Raw
From 3c22024f41029dd4c1dca6b265d1fd0f14fc2f95 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Thu, 26 Mar 2015 13:37:10 +0000
Subject: [PATCH] Resolves: tdf#90256 repair invalid docking positions

Change-Id: If144a867dc4be6975c08cd1eea9ebb540975aafc
---
 framework/source/layoutmanager/layoutmanager.cxx | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/framework/source/layoutmanager/layoutmanager.cxx b/framework/source/layoutmanager/layoutmanager.cxx
index d4e4eee..94e99ff 100644
--- a/framework/source/layoutmanager/layoutmanager.cxx
+++ b/framework/source/layoutmanager/layoutmanager.cxx
@@ -531,8 +531,15 @@ bool LayoutManager::readWindowStateData( const OUString& aName, UIElement& rElem
                     else if ( aWindowState[n].Name == WINDOWSTATE_PROPERTY_DOCKPOS )
                     {
                         awt::Point aPoint;
-                        if ( aWindowState[n].Value >>= aPoint )
+                        if (aWindowState[n].Value >>= aPoint)
+                        {
+                            //tdf#90256 repair these broken Docking positions
+                            if (aPoint.X < 0)
+                                aPoint.X = SAL_MAX_INT32;
+                            if (aPoint.Y < 0)
+                                aPoint.Y = SAL_MAX_INT32;
                             rElementData.m_aDockedData.m_aPos = aPoint;
+                        }
                     }
                     else if ( aWindowState[n].Name == WINDOWSTATE_PROPERTY_POS )
                     {
-- 
1.9.3