Bug 1437203

Summary: SWT dialogs using on top can stop receiving all events
Product: Red Hat Enterprise Linux 7 Reporter: Joe Wright <jwright>
Component: mutterAssignee: Florian Müllner <fmuellner>
Status: CLOSED ERRATA QA Contact: Desktop QE <desktop-qa-list>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 7.3CC: akaiser, aladd, alanm, bmilar, fmuellner, jherrman, jlyle, joboyer, knakai, lmiksik, ndjensen, tpelka
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Previously, if a Standard Widget Toolkit (SWT) application triggered a pop-up dialog displayed on top of the application, the events generated by this dialog were in some cases received not by the original application, but the application currently in focus. As a consequence, interacting with the dialog sometimes did not have the expected effect. This update fixes the underlying code, and SWT application pop-up dialogs now affect the appropriate application.
Story Points: ---
Clone Of:
: 1463679 (view as bug list) Environment:
Last Closed: 2017-08-01 22:44:12 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1463679    

Description Joe Wright 2017-03-29 18:26:04 UTC
Created attachment 1267334 [details]
sosreport

Description of problem:
- When using the SWT.ON_TOP bit that makes an SWT application or its dialogs Always on Top, the "Always on Top" dialogs can stop receiving all events.  When this occurs, the application behind it that has focus will instead receive the events.

Version-Release number of selected component (if applicable):
- mutter-3.14.4-17.el7.x86_64

How reproducible:
- see https://bugzilla.gnome.org/show_bug.cgi?id=780485

Comment 2 Nate Jensen 2017-05-11 16:22:05 UTC
Since SWT is using GTK, we've recreated the problem using pure GTK.  We also took it a step further and recreated the problem with Xlib.  Please see updated comments here: https://bugzilla.gnome.org/show_bug.cgi?id=780485#c9

Comment 5 Nate Jensen 2017-05-22 17:01:38 UTC
Based on the discussion with the Mutter developer Rui Matos, I have opened an SWT ticket.  https://bugs.eclipse.org/bugs/show_bug.cgi?id=516907

Rui Matos has provided a patch for the issue for Mutter.  I don't know the Gnome process of the patch getting approval and into a release.  Presuming it gets approval, I don't know what release would have the patch.

Comment 13 Florian Müllner 2017-06-08 12:42:59 UTC
(In reply to Nate Jensen from comment #5)
> Presuming it gets approval, I don't know what release would have the patch.

I'm asking for an exception for 7.4, otherwise the fix would be postponed to 7.5.

Comment 21 Bohdan Milar 2017-06-28 10:13:46 UTC
Tested manually on x86_64 (virtual machine).

To reproduce, I used the example provided in https://bugzilla.gnome.org/show_bug.cgi?id=780485#c10

Before compilation, I had to install gcc, pango-devel, gtk3-devel, atk-devel and their dependencies. Then I was able to compile the gtkExample like this:

gcc `pkg-config --cflags gtk+-3.0` `pkg-config --libs gtk+-3.0` gtkExample.c -o repro

In Gnome Classic I first run ./repro and a small window only containing 1 button appeared. Then I opened Nautilus window and placed it over the "repro" window. The "repro" window stood on top. Then I tried to click the button in the "repro" window.

Results:

RHEL 7.3 (RC-3.0), mutter-3.14.4-31.el7.x86_64:
- The "repro" window did not close. The mouse click was recieved by Nautilus.
- Problem reproduced.

RHEL 7.4, mutter-3.22.3-10.el7.x86_64:
- The "repro" window closed - it correctly recieved the mouse click.
- Fix verified.

Comment 24 errata-xmlrpc 2017-08-01 22:44:12 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2017:2098