Bug 1367591
Summary: | Gtk3 Clipboard gtk_clipboard_set_with_data does not function properly in Wayland | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Norman Smith <nls1729> | ||||||
Component: | wayland | Assignee: | Adam Jackson <ajax> | ||||||
Status: | CLOSED EOL | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||
Severity: | unspecified | Docs Contact: | |||||||
Priority: | unspecified | ||||||||
Version: | 24 | CC: | ajax, anass.1430, ofourdan | ||||||
Target Milestone: | --- | Keywords: | Reopened | ||||||
Target Release: | --- | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | Doc Type: | If docs needed, set a value | |||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2017-08-08 16:34:55 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: | 1277927 | ||||||||
Attachments: |
|
Created attachment 1191400 [details]
Makefile for clip.c.
gtk_clipboard_set_with_data does not function properly when executed GNOME on Wayland. The attached clip.c functions properly when on GNOME. The attacted test code using gtk_clipboard_set_with_data to set clipboard sequentially with multiple targets with one function call. A Makefile is attached for clip.c. When running under Wayland the "get" function is not called when clipboard is pasted after the first call. On very rare occasions the "get" function is called after the first paste under Wayland. Under GNOME: $ ./clip Three Two One Paste clipboard contents into gedit, One is displayed in gedit. The following is output on terminal. get One Paste clipboard contents into gedit, Two is displayed in gedit. The following is output on terminal. get Two Paste clipboard contents into gedit, Three is displayed in gedit. The following is output on terminal. get Three My work is done. Under GNOME on Wayland $ ./clip Three Two One Paste clipboard contents into gedit, One is displayed in gedit. The following is output on terminal. get One Paste clipboard contents into gedit, One is displayed in gedit again. No message printed on terminal. Paste clipboard contents into gedit, One is displayed in gedit again. Each paste continues to display One. And sometimes you get a Two with get Two output on the terminal. The results are very erratic. This is not a Wayland bug. I found that some applications don't work the same in Fedora 24 Wayland compared to Fedora 24 X11. Firefox and google-chrome work Ok but gedit does not. Closing. Not sure if this really is "notabug" or simply a bug is some other component. As a rule of thumb, it's hardly ever a "Wayland" bug per se. In Wayland as a whole, you have the Wayland protocols (XML based specifications), the Wayland library (either client or server, low-level libraries unrelated to high level user features such as clipboard management), the Wayland compositor (mutter/gnome-shell in GNOME), the toolkit (gtk+ for GNOME) and the applications. The vast majority of "Wayland" bugs reside in either the compositor, the toolkit or the applications. Add to this the applications that are not ported to Wayland and still run in X11 and therefore rely on Xwayland (that's the case for Firefox and google-chrome at this time of writing) and you have an additional candidate for bugs which is Xwayland. The tricky part is to find the right component among those 4 candidates for bugs. I changed the status from CLOSED to MODIFIED. Hope this OK. This is a bug related to Wayland. gtk_clipboard_set_with_data's get function is not being called when it should be called. It is called properly the first time but should be called again after each paste. If you change the focus from the application after each paste it is called. That is not correct based on the way it works in X11. The following steps show the difference. In Fedora 25 alpha login with X11. Run test program clip. $ ./clip Three Two One Run gedit. Right Click and Paste into gedit 3 times. In gedit: OneTwoThree On terminal: get One get Two get Three My work is done. The above is the expected behavior using the gtk_clipboard_set_with_data function. In Fedora 25 alpha login with Wayland. $ ./clip Three Two One Run gedit. Right Click and Paste into gedit 3 times. In gedit: OneOneOne On terminal: get One In Wayland the get function in the test program was called only once and the clipboard contained the same data for the three pastes. In Fedora 25 alpha login with Wayland. $ ./clip Three Two One Run gedit. Perform 1,2 and 3 for three pastes. 1. Right Click and Paste. 2. Change the focus from gedit to another window. 3. Change focus back to gedit. In gedit: OneTwoThree On terminal: get One get Two get Three My work is done. Something is blocking the call to the get function until the focus is changed from the gedit window. This test can be run using Firefox instead of gedit with the same results. gtk_clipboard_set_with_data does not function properly in Wayland in Fedora 25 Beta. This message is a reminder that Fedora 24 is nearing its end of life. Approximately 2 (two) weeks from now Fedora will stop maintaining and issuing updates for Fedora 24. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '24'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 24 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. Fedora 24 changed to end-of-life (EOL) status on 2017-08-08. Fedora 24 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. If you are unable to reopen this bug, please file a new report against the current release. If you experience problems, please add a comment to this bug. Thank you for reporting this bug and we are sorry it could not be fixed. |
Created attachment 1191399 [details] Test program source code. Description of problem: Version-Release number of selected component (if applicable): ibus-wayland-1.5.13-3.fc24.x86_64 libwayland-cursor-devel-1.10.0-1.fc24.x86_64 xorg-x11-server-Xwayland-1.18.4-1.fc24.x86_64 gnome-session-wayland-session-3.20.2-1.fc24.x86_64 mesa-libwayland-egl-devel-12.0.1-1.fc24.x86_64 libwayland-server-1.10.0-1.fc24.x86_64 wayland-protocols-devel-1.4-1.fc24.noarch libwayland-client-1.10.0-1.fc24.x86_64 libwayland-cursor-1.10.0-1.fc24.x86_64 wayland-devel-1.10.0-1.fc24.x86_64 mesa-libwayland-egl-12.0.1-1.fc24.x86_64 libwayland-client-devel-1.10.0-1.fc24.x86_64 How reproducible: Every time. Steps to Reproduce: Run test application "clip", clip.c and Makefile are attached. Actual results: Expected results: Additional info: