diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-06-09 12:25:26 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2020-06-09 21:16:46 +0200 |
commit | 6250b2bebfc8179e1c618dc79a9b74c8efe06629 (patch) | |
tree | 54b47923147c8f184943777784173971658aaed1 /vcl | |
parent | 94dd6c84db201dd5fecdbdcad6c62f8337d0eaa9 (diff) |
tdf#129856 invalidate old internal border if we scroll
and will redraw a new one
Change-Id: I2438af94e54f31c617cc183c61fbaaef31b5601f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95887
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/treelist/headbar.cxx | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/vcl/source/treelist/headbar.cxx b/vcl/source/treelist/headbar.cxx index e87790e9dd97..7020c616bb69 100644 --- a/vcl/source/treelist/headbar.cxx +++ b/vcl/source/treelist/headbar.cxx @@ -1110,8 +1110,15 @@ void HeaderBar::Clear() void HeaderBar::SetOffset( long nNewOffset ) { + // tdf#129856 (see also #i40393#) invalidate old left and right border area if WB_BORDER was set in ImplInit() + if (mnBorderOff1 && mnBorderOff2) + { + Invalidate(tools::Rectangle(0, 0, 1, mnDY)); + Invalidate(tools::Rectangle(mnDX - 1, 0, mnDX, mnDY)); + } + // move area - tools::Rectangle aRect( 0, mnBorderOff1, mnDX-1, mnDY-mnBorderOff1-mnBorderOff2-1 ); + tools::Rectangle aRect( 0, mnBorderOff1, mnDX-1, mnDY-mnBorderOff1-mnBorderOff2 ); long nDelta = mnOffset-nNewOffset; mnOffset = nNewOffset; Scroll( nDelta, 0, aRect ); |