View | Details | Raw Unified | Return to issue 112795
Collapse All | Expand All

(-)a/sfx2/source/dialog/splitwin.cxx (-1 / +7 lines)
Lines 618-623 Link Here
618
	// Das Fenster mu\s vor dem ersten Fenster eingef"ugt werden, das die
618
	// Das Fenster mu\s vor dem ersten Fenster eingef"ugt werden, das die
619
	// gleiche oder eine gr"o\sere Position hat als pDockWin.
619
	// gleiche oder eine gr"o\sere Position hat als pDockWin.
620
	USHORT nCount = pDockArr->Count();
620
	USHORT nCount = pDockArr->Count();
621
    USHORT nLastWindowIdx(0);
621
622
622
	// Wenn gar kein Fenster gefunden wird, wird als erstes eingef"ugt
623
	// Wenn gar kein Fenster gefunden wird, wird als erstes eingef"ugt
623
	USHORT nInsertPos = 0;
624
	USHORT nInsertPos = 0;
Lines 631-636 Link Here
631
			// Wenn kein geeignetes Fenster hinter der gew"unschten Einf"ugeposition
632
			// Wenn kein geeignetes Fenster hinter der gew"unschten Einf"ugeposition
632
			// gefunden wird, wird am Ende eingef"ugt
633
			// gefunden wird, wird am Ende eingef"ugt
633
			nInsertPos = nCount;
634
			nInsertPos = nCount;
635
            nLastWindowIdx = n;
634
			USHORT nL=0, nP=0;
636
			USHORT nL=0, nP=0;
635
			GetWindowPos( pD->pWin, nL, nP );
637
			GetWindowPos( pD->pWin, nL, nP );
636
638
Lines 646-656 Link Here
646
					pDock->bNewLine = TRUE;
648
					pDock->bNewLine = TRUE;
647
				}
649
				}
648
650
649
				nInsertPos = n;
651
				nInsertPos = n != 0 ? nLastWindowIdx + 1 : 0;    // ignore all non-windows after the last window
650
				break;
652
				break;
651
			}
653
			}
652
		}
654
		}
653
	}
655
	}
656
    if (nInsertPos == nCount && nLastWindowIdx != nCount - 1)
657
    {
658
        nInsertPos = nLastWindowIdx + 1;    // ignore all non-windows after the last window
659
    }
654
660
655
	pDockArr->Insert(pDock, nInsertPos);
661
	pDockArr->Insert(pDock, nInsertPos);
656
	InsertWindow_Impl( pDock, rSize, nLine, nPos, bNewLine );
662
	InsertWindow_Impl( pDock, rSize, nLine, nPos, bNewLine );

Return to issue 112795