Bug 167419 - Line style not applied instantly for the bottom border of a table; delayed paint
Summary: Line style not applied instantly for the bottom border of a table; delayed paint
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.6.0.0 alpha1+
Hardware: All All
: medium minor
Assignee: Caolán McNamara
URL:
Whiteboard: target:26.2.0 target:25.8.1
Keywords: bibisected, bisected, regression
Depends on:
Blocks:
 
Reported: 2025-07-08 06:48 UTC by Telesto
Modified: 2025-08-20 23:19 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Telesto 2025-07-08 06:48:41 UTC
Description:
Line style not applied instantly for the bottom border of a table

Steps to Reproduce:
1. Draw a 3x4 table with table picker
2. Right click in the left top table cell and pick table properties
3. Borders tab
4. Select different line style and press OK

Actual Results:
Line style isn't applied for bottom row instantly. Does happen after scroll and other interactions.



Expected Results:
the table should have the chosen line-style after OK. No delay in painting


Reproducible: Always


User Profile Reset: No

Additional Info:
Version: 26.2.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: e7201fd7c51743cb103bae82263d98830f5174cf
CPU threads: 8; OS: macOS 14.7.4; UI render: Skia/Metal; VCL: osx
Locale: nl-NL (nl_NL.UTF-8); UI: en-US
Calc: threaded

also with Skia/Raster
Comment 1 Telesto 2025-07-08 06:51:22 UTC
Fine with
Version: 7.6.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 1cfeb4bd8ce7f7727a81136bd3e2d6ebea976895
CPU threads: 8; OS: Mac OS X 14.7.4; UI render: Skia/Raster; VCL: osx
Locale: nl-NL (nl_NL.UTF-8); UI: en-US
Calc: threaded
Comment 2 Saburo 2025-07-09 05:05:11 UTC
confirm and bisected with win64-7.6
Version: 25.8.0.0.beta1 (X86_64) / LibreOffice Community
Build ID: 1b25e37a63c5a6f16bdcb365ed3da80ac419e6e4
CPU threads: 4; OS: Windows 10 X86_64 (build 19045); UI render: Skia/Raster; VCL: win
Locale: ja-JP (ja_JP); UI: ja-JP
Calc: CL threaded
and in
Version: 7.6.0.0.alpha1+ (X86_64) / LibreOffice Community
Build ID: 1a3bfd3af113da246b0327e5cc816542682f90ba
CPU threads: 4; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win
Locale: ja-JP (ja_JP); UI: en-US
Calc: CL threaded

commit 1a3bfd3af113da246b0327e5cc816542682f90ba
author	Caolán McNamara

tdf#155349 std::move of a std::optional leave behind a set std::optional

unlike std::move of a std::unique_ptr which leaves behind an empty
std::unique_ptr

so if HasPaintRegion was true before TakePaintRegion it was
still true after TakePaintRegion

Change-Id: I6569f5ccd8081cbcec42190c474a98c4e28030a9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151807
Comment 3 Caolán McNamara 2025-07-28 15:01:37 UTC
I think that commit in itself is innocent and fixes a different regression that then reveals an underlying problem with the area that is refreshed when changing the table border.

I think the part of the border that is at the bottom of the table is basically outside the area the table inhabits so the refresh area doesn't include it. Adding that extra piece to the area to refresh looks like it would work.
Comment 4 Commit Notification 2025-07-28 19:15:30 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/e9abbdd178d6a01f6ecd8642920c52902312e470

Resolves: tdf#167419 Changing the borders of a table doesn't refresh bottom

It will be available in 26.2.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 5 Commit Notification 2025-08-20 23:19:08 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "libreoffice-25-8":

https://git.libreoffice.org/core/commit/59a848d274538980cf73ff3ee3f8acf417330288

Resolves: tdf#167419 Changing the borders of a table doesn't refresh bottom

It will be available in 25.8.1.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.