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 20:34:33 +0200 |
commit | bff76e27eba1e496838f3673c3cea43fd535b7c7 (patch) | |
tree | 5ec99d034bb7e9ace6d872f664273eafb6a2f91b /vcl | |
parent | 53d73d532281b6734a7d4614bb74fc6cc15510f0 (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/+/95911
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 ); |