After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 791303 - Display glitches around hidden underline
Display glitches around hidden underline
Status: RESOLVED FIXED
Product: vte
Classification: Core
Component: general
git master
Other Linux
: Normal minor
: ---
Assigned To: VTE Maintainers
VTE Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-12-06 10:35 UTC by Egmont Koblinger
Modified: 2017-12-16 22:32 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Test case (2.75 KB, text/plain)
2017-12-06 10:35 UTC, Egmont Koblinger
  Details
Fix (?) (512 bytes, patch)
2017-12-06 21:40 UTC, Egmont Koblinger
none Details | Review
Fix, v2 (2.24 KB, patch)
2017-12-16 01:01 UTC, Egmont Koblinger
committed Details | Review

Description Egmont Koblinger 2017-12-06 10:35:05 UTC
Created attachment 365098 [details]
Test case

cat the attached file. Notice the incorrect display where "underline" and "hidden" modes meet. Highlighting with mouse randomly fixes / breaks it again.
Comment 1 Christian Persch 2017-12-06 10:49:18 UTC
Confirmed. Striketrough (last line) also has the same issue.
Comment 2 Egmont Koblinger 2017-12-06 10:50:09 UTC
I'm planning to fix it tonight.
Comment 3 Egmont Koblinger 2017-12-06 21:13:54 UTC
A boiled-down test case:

echo -e '\e[4m  \e[8m  \e[28m  \e[24m'

Reminds me of bug 707221.
Comment 4 Egmont Koblinger 2017-12-06 21:40:35 UTC
Created attachment 365163 [details] [review]
Fix (?)

This fixes the bug for me.

The comment is pretty bad, I should rephrase it. This part of the code is not about rendering, but about finding a continuous run of identical attributes.

I don't understand why this patch on its own fixes the bug :-) A few lines below there's a code like this for pretty much all attributes:

        nunderline = cell->attr.underline;
        if (nunderline != underline) {
                break;
        }

I'll add one for the invisible attribute too, I'll feel good about this patch then.
Comment 5 Egmont Koblinger 2017-12-16 01:01:57 UTC
Created attachment 365611 [details] [review]
Fix, v2

Let's submit this one :)
Comment 6 Christian Persch 2017-12-16 22:27:54 UTC
Comment on attachment 365611 [details] [review]
Fix, v2

Looks good.
Comment 7 Egmont Koblinger 2017-12-16 22:32:47 UTC
Fixed.