incubator-ooo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From p..@apache.org
Subject svn commit: r1195005 - /incubator/ooo/trunk/main/sfx2/source/dialog/splitwin.cxx
Date Sat, 29 Oct 2011 19:56:47 GMT
Author: pfg
Date: Sat Oct 29 19:56:46 2011
New Revision: 1195005

URL: http://svn.apache.org/viewvc?rev=1195005&view=rev
Log:
i112795 - sfx2: dock windows change position after restart of the app. Translate some debug
messages while here.

Modified:
    incubator/ooo/trunk/main/sfx2/source/dialog/splitwin.cxx

Modified: incubator/ooo/trunk/main/sfx2/source/dialog/splitwin.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sfx2/source/dialog/splitwin.cxx?rev=1195005&r1=1195004&r2=1195005&view=diff
==============================================================================
--- incubator/ooo/trunk/main/sfx2/source/dialog/splitwin.cxx (original)
+++ incubator/ooo/trunk/main/sfx2/source/dialog/splitwin.cxx Sat Oct 29 19:56:46 2011
@@ -611,13 +611,13 @@ void SfxSplitWindow::InsertWindow( SfxDo
 	pDock->bNewLine = bNewLine;
 	pDock->pWin = pDockWin;
 
-	DBG_ASSERT( nPos==0 || !bNewLine, "Falsche Paramenter!");
+	DBG_ASSERT( nPos==0 || !bNewLine, "Wrong Parameter!");
 	if ( bNewLine )
 		nPos = 0;
 
 	// Das Fenster mu\s vor dem ersten Fenster eingef"ugt werden, das die
 	// gleiche oder eine gr"o\sere Position hat als pDockWin.
-	sal_uInt16 nCount = pDockArr->Count();
+	sal_uInt16 nLastWindowIdx(0);
 
 	// Wenn gar kein Fenster gefunden wird, wird als erstes eingef"ugt
 	sal_uInt16 nInsertPos = 0;
@@ -631,26 +631,31 @@ void SfxSplitWindow::InsertWindow( SfxDo
 			// Wenn kein geeignetes Fenster hinter der gew"unschten Einf"ugeposition
 			// gefunden wird, wird am Ende eingef"ugt
 			nInsertPos = nCount;
+			nLastWindowIdx = n;
 			sal_uInt16 nL=0, nP=0;
 			GetWindowPos( pD->pWin, nL, nP );
 
 			if ( (nL == nLine && nP == nPos) || nL > nLine )
 			{
-				DBG_ASSERT( nL == nLine || bNewLine || nPos > 0, "Falsche Parameter!" );
+				DBG_ASSERT( nL == nLine || bNewLine || nPos > 0, "Wrong Parameter!" );
 				if ( nL == nLine && nPos == 0 && !bNewLine )
 				{
-					DBG_ASSERT(pD->bNewLine, "Keine neue Zeile?");
+					DBG_ASSERT(pD->bNewLine, "No new line?");
 
 					// Das Fenster wird auf nPos==0 eingeschoben
 					pD->bNewLine = sal_False;
 					pDock->bNewLine = sal_True;
 				}
 
-				nInsertPos = n;
+				nInsertPos = n != 0 ? nLastWindowIdx + 1 : 0;    // ignore all non-windows after the
last window
 				break;
 			}
 		}
 	}
+    if (nInsertPos == nCount && nLastWindowIdx != nCount - 1)
+    {
+        nInsertPos = nLastWindowIdx + 1;    // ignore all non-windows after the last window
+    }
 
 	pDockArr->Insert(pDock, nInsertPos);
 	InsertWindow_Impl( pDock, rSize, nLine, nPos, bNewLine );



Mime
View raw message