Resolves: #i121503# fix resize/paint race in the backing window
(cherry picked from commit 9d578cebcd9d1e1c16c04cbefc5de2ab511ea335) Conflicts: framework/source/services/backingwindow.cxx Change-Id: Ic5e590465e19b02b6a9b426072818cea5bb3f912
This commit is contained in:
committed by
Caolán McNamara
parent
e1f6dac689
commit
b130133ad2
@@ -661,6 +661,8 @@ void BackingWindow::layoutButton(
|
|||||||
|
|
||||||
void BackingWindow::Paint( const Rectangle& )
|
void BackingWindow::Paint( const Rectangle& )
|
||||||
{
|
{
|
||||||
|
Resize();
|
||||||
|
|
||||||
Wallpaper aBack( svtools::ColorConfig().GetColorValue(::svtools::APPBACKGROUND).nColor );
|
Wallpaper aBack( svtools::ColorConfig().GetColorValue(::svtools::APPBACKGROUND).nColor );
|
||||||
Region aClip( Rectangle( Point( 0, 0 ), GetOutputSizePixel() ) );
|
Region aClip( Rectangle( Point( 0, 0 ), GetOutputSizePixel() ) );
|
||||||
Rectangle aBmpRect(maControlRect);
|
Rectangle aBmpRect(maControlRect);
|
||||||
@@ -849,6 +851,9 @@ void BackingWindow::Resize()
|
|||||||
nYPos += nB2Delta - nDiff;
|
nYPos += nB2Delta - nDiff;
|
||||||
maOpenButton.SetPosSizePixel( Point( maControlRect.Left() + mnBtnPos, nYPos ), Size( mnTextColumnWidth[0], maButtonImageSize.Height() ) );
|
maOpenButton.SetPosSizePixel( Point( maControlRect.Left() + mnBtnPos, nYPos ), Size( mnTextColumnWidth[0], maButtonImageSize.Height() ) );
|
||||||
maTemplateButton.SetPosSizePixel( Point( maControlRect.Left() + mnBtnPos + mnColumnWidth[0], nYPos ), Size( mnTextColumnWidth[1], maButtonImageSize.Height() ) );
|
maTemplateButton.SetPosSizePixel( Point( maControlRect.Left() + mnBtnPos + mnColumnWidth[0], nYPos ), Size( mnTextColumnWidth[1], maButtonImageSize.Height() ) );
|
||||||
|
|
||||||
|
if( !IsInPaint())
|
||||||
|
Invalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
IMPL_LINK_NOARG(BackingWindow, ToolboxHdl)
|
IMPL_LINK_NOARG(BackingWindow, ToolboxHdl)
|
||||||
|
Reference in New Issue
Block a user