diff options
-rw-r--r-- | vcl/source/window/toolbox.cxx | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/vcl/source/window/toolbox.cxx b/vcl/source/window/toolbox.cxx index bd6416686242..1a6179eddd72 100644 --- a/vcl/source/window/toolbox.cxx +++ b/vcl/source/window/toolbox.cxx @@ -2492,7 +2492,15 @@ void ToolBox::ImplFormat( bool bResize ) // items here. ( Note: assume mnMaxItemHeight is // equal to the LineSize when multibar has a single // line size ) - it->maCalcRect.Top() = it->maRect.Top() ? it->maRect.Top() : ( nY + ( mnMaxItemHeight-aCurrentItemSize.Height())/2 ); + if ( it->maRect.Top() || + (it->mpWindow && it->mpWindow->GetType() == WINDOW_CALCINPUTLINE) ) // tdf#83099 + { + it->maCalcRect.Top() = it->maRect.Top(); + } + else + { + it->maCalcRect.Top() = nY+(mnMaxItemHeight-aCurrentItemSize.Height())/2; + } } else it->maCalcRect.Top() = nY+(nLineSize-aCurrentItemSize.Height())/2; @@ -2516,6 +2524,9 @@ void ToolBox::ImplFormat( bool bResize ) if ( it->mbShowWindow ) { Point aPos( it->maCalcRect.Left(), it->maCalcRect.Top() ); + + assert( it->maCalcRect.Top() >= 0 ); + it->mpWindow->SetPosPixel( aPos ); if ( !mbCustomizeMode ) it->mpWindow->Show(); |