Bug 514171 - [GTK3] Cheese in views using "mixed fonts and colors"
Summary: [GTK3] Cheese in views using "mixed fonts and colors"
Status: NEW
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 4.6   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform-SWT-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2017-03-24 06:30 EDT by Andrey Loskutov CLA
Modified: 2020-11-05 05:41 EST (History)
1 user (show)

See Also:


Attachments
Cheese in 4.7 M6 (269.84 KB, image/png)
2017-03-24 06:30 EDT, Andrey Loskutov CLA
no flags Details
Some table rows have cheese (478.74 KB, image/png)
2019-02-15 04:45 EST, Andrey Loskutov CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrey Loskutov CLA 2017-03-24 06:30:58 EDT
Created attachment 267444 [details]
Cheese in 4.7 M6

I observe it in BOTH 4.6.3 and 4.7 M6, see screenshot.

Unfortunately it is not always reproducible. Steps below worked fine few days ago (as I've created screenshot), but now I can't reproduce with the steps below, but the problem is still occurring.

The only one thing is clear: after switching the General -> Appearance -> "mixed fonts and colors" OFF the issue disappears.

So I guess the problem is due slightly different font dimensions in the same line in the tree widget in GTK3. It could be either SWT or GTK3 bug.

Steps to reproduce (not stable)

1) Have lot of git projects in the workspace
2) Have egit with label decorations enabled
3) Open "Package explorer" and staging view
4) Have "Link with editor" enabled in the "Package Explorer"
5) Change some file and double click on it in the staging view to open compare editor. Some small "cheese" should be shown in package explorer now.
6) Close the compare editor and repeat step 5. More cheese is shown :-)
7) If no cheese shown, scroll in Package Explorer a bit so that the file entry changes the position
8) Repeat step 5-6 to see as much cheese as you can handle :-)
Comment 1 Andrey Loskutov CLA 2017-03-24 06:34:29 EDT
I'm on RHEL 7.2, gtk3-3.14.13-16.el7.x86_64.
Comment 2 Andrey Loskutov CLA 2017-03-24 06:56:53 EDT
Bug 465054 was the original one which really fixed the "permanent cheese" we had. Now we have only "random" cheeze which is really hard to pinpoint, but which is 100% there if working with Eclipse a usual work day long.
Comment 3 Eric Williams CLA 2018-03-28 12:49:31 EDT
I see this from time to time as well.
Comment 4 Andrey Loskutov CLA 2018-06-14 08:25:34 EDT
Still in 4.8 and 4.9.
Comment 5 Eric Williams CLA 2019-02-14 15:44:42 EST
Haven't seen this one in awhile, Andrey do you still experience it?
Comment 6 Andrey Loskutov CLA 2019-02-14 16:44:53 EST
(In reply to Eric Williams from comment #5)
> Haven't seen this one in awhile, Andrey do you still experience it?

All the time.
Comment 7 Andrey Loskutov CLA 2019-02-15 04:45:28 EST
Created attachment 277584 [details]
Some table rows have cheese

(In reply to Andrey Loskutov from comment #6)
> (In reply to Eric Williams from comment #5)
> > Haven't seen this one in awhile, Andrey do you still experience it?
> 
> All the time.

Just found a way to reproduce it, at least for History table. 

Open History view on some git project. Select a commit with some files, so they are shown in the lower right pane. Double click one of those files to open diff editor. Now activate alternated editor tab and history tab by the mouse *without going over* the commit table. After few activations the table will show cheese in some or all rows.

Looks like there are repaints happening on the table which do not erase the background and for whatever reason paint the same text slightly differently.

Also please note, exact the same problem happens for Package Explorer (so it is not an EGit issue), I just have not found a reliable way to reproduce it (but I see it all the time).
Comment 8 Eric Williams CLA 2019-02-15 08:54:09 EST
Hmm, I wonder if this is dup of bug 531048? They seem awfully similar.
Comment 9 Eric Williams CLA 2019-02-15 09:13:17 EST
(In reply to Andrey Loskutov from comment #7)
> open diff editor. Now activate alternated editor tab and history tab by the
> mouse *without going over* the commit table. After few activations the table
> will show cheese in some or all rows.

What is the "alternated editor tab"?
Comment 10 Andrey Loskutov CLA 2019-02-15 11:06:20 EST
(In reply to Eric Williams from comment #9)
> (In reply to Andrey Loskutov from comment #7)
> > open diff editor. Now activate alternated editor tab and history tab by the
> > mouse *without going over* the commit table. After few activations the table
> > will show cheese in some or all rows.
> 
> What is the "alternated editor tab"?

*alternating* :-) I mean, click on editor tab, after that on view tab, back to editor, back to view etc.

(In reply to Eric Williams from comment #8)
> Hmm, I wonder if this is dup of bug 531048? They seem awfully similar.

I see only cheese on the font, but no other paint artifacts. Is this also same for trees? Is Package Explorer an "ownerdraw table"?
Comment 11 Eric Williams CLA 2019-02-15 11:08:56 EST
(In reply to Andrey Loskutov from comment #10)
> (In reply to Eric Williams from comment #9)
> > (In reply to Andrey Loskutov from comment #7)
> > > open diff editor. Now activate alternated editor tab and history tab by the
> > > mouse *without going over* the commit table. After few activations the table
> > > will show cheese in some or all rows.
> > 
> > What is the "alternated editor tab"?
> 
> *alternating* :-) I mean, click on editor tab, after that on view tab, back
> to editor, back to view etc.

Aha, okay :)

> 
> (In reply to Eric Williams from comment #8)
> > Hmm, I wonder if this is dup of bug 531048? They seem awfully similar.
> 
> I see only cheese on the font, but no other paint artifacts. Is this also
> same for trees? Is Package Explorer an "ownerdraw table"?

That bug affects foreground/fonts primarily, it might also be related to Snippet273 not working but this isn't confirmed yet. Also the bug title says Tree, but the code for Table and Tree are similar enough that likely both are affected.

I'll continue to investigate this, I believe these issues are good candidates for fixing in 4.12.
Comment 12 Eric Williams CLA 2019-03-13 09:29:04 EDT
Andrey, can you try using master from today? I am wondering if the Tree portion of the fix for bug 531048 also fixes this.
Comment 13 Andrey Loskutov CLA 2019-03-13 11:28:24 EDT
(In reply to Eric Williams from comment #12)
> Andrey, can you try using master from today? I am wondering if the Tree
> portion of the fix for bug 531048 also fixes this.

Unfortunately still there. I'm using my "Git History" test from comment 7.
Comment 14 Andrey Loskutov CLA 2019-04-02 04:32:48 EDT
(In reply to Eric Williams from comment #12)
> Andrey, can you try using master from today? I am wondering if the Tree
> portion of the fix for bug 531048 also fixes this.

Sill present in 4.12 I20190401-1800, see attachment 278116 [details] :-(