Bug 551302 - [GTK] Progress view hides contents when system dialog is opened
Summary: [GTK] Progress view hides contents when system dialog is opened
Status: VERIFIED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 4.13   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 4.14 M1   Edit
Assignee: Paul Pazderski CLA
QA Contact: Eric Williams CLA
URL:
Whiteboard:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2019-09-20 05:39 EDT by Paul Pazderski CLA
Modified: 2019-10-08 13:34 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Pazderski CLA 2019-09-20 05:39:57 EDT
This is the Linux variant of bug 547373. See especially bug 547373 comment 11 and bug 547373 comment 5.

The short summary: SWT allows to defer UI layout operations which is used by progress view. The deferred layout requests are than executed as part of the SWT event loop. While messages are handled by an external event loop the deferred layouts are not executed until SWT event loop get back control.

This is a bigger problem on Windows than on Linux because the only situation I found where an external event loop is used on Linux is showing system dialogues like ColorDialog.
Comment 1 Paul Pazderski CLA 2019-09-20 05:40:31 EDT
Eric if you have no objections I would provide a similar patch as my Windows variant which simply disables layout deferrals while an external event loop is running and perform the layout instead immediately.
Comment 2 Eric Williams CLA 2019-09-20 09:05:23 EDT
(In reply to Paul Pazderski from comment #1)
> Eric if you have no objections I would provide a similar patch as my Windows
> variant which simply disables layout deferrals while an external event loop
> is running and perform the layout instead immediately.

Sounds fine to me, please feel free to propose a Gerrit change whenever you have the time and I'll take a look.
Comment 3 Eclipse Genie CLA 2019-09-23 18:25:00 EDT
New Gerrit change created: https://git.eclipse.org/r/150027
Comment 5 Eric Williams CLA 2019-09-26 16:27:41 EDT
(In reply to Eclipse Genie from comment #4)
> Gerrit change https://git.eclipse.org/r/150027 was merged to [master].
> Commit:
> http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/
> ?id=54f73e2c7863eb74d4520a20644cbf4fbc2e25fc

Nice fix, thanks! In master now.
Comment 6 Eric Williams CLA 2019-10-08 13:34:54 EDT
Verified in I20191008-0600.