Bug 89066

Summary: Tooltips broken, locks cursor focus
Product: Wayland Reporter: James Harvey <lothmordor>
Component: westonAssignee: Wayland bug list <wayland-bugs>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: weston log

Description James Harvey 2015-02-10 17:29:25 UTC
Hovering over a launcher icon on the weston panel should display a tooltip.  No tooltip appears and the mouse-over highlight stays lit when the cursor is moved away.  Once this occurs, clicking on the launcher icon or right-clicking on the panel has no effect.  Restarting weston seems to be the only way to get launcher buttons working again.

Using linux-3.19.0-rc7
mesa-10.4.4
cairo-1.12.18
wayland git-52d971c9
weston git-82d19aab

Tooltips worked okay in weston-1.4.0, but not in 1.50 and later.  Attempted to bisect, but build errors prevented narrowing down to an exact commit.  Probably occured in: [7f4386e90a64a1a478730ca9f7f30b998d8ac36b] westoy: Use subsurfaces for tooltips instead of transient windows

-----------------------------------
# only skipped commits left to test
# possible first bad commit: [088ba5e4754cd1e92039357445e544f359bde6a5] Makefile.am: Fix protocol source files usage
# possible first bad commit: [5e647ca1468d50d00d44178d4c5f776523b36605] xwayland: Fix typo in open flags for Xorg log file
# possible first bad commit: [6fd73cd3c08d99e1894d21fb38f559dcbc5ac4db] build: Add -Wsign-compare to GCC flags
# possible first bad commit: [1e47a93f8577027240564693e43bc27e0447531b] Revert "stacking: Remove transient window support"
# possible first bad commit: [53686048ccb9836c1e36d32d36e788d49239a634] window: Add wrappers for xdg_surface_set_transient_for
# possible first bad commit: [0790e3978a771328b276cf5ee73fcf31a41fa051] westoy: Port the toy toolkit over to xdg-shell
# possible first bad commit: [c0f17aba5e007821bf08e58b5033e7e545f6ab10] westoy: Remove MAXIMIZED and FULLSCREEN as separate window types
# possible first bad commit: [76ec0826bc390010b347da28985e68f5252f2f95] westoy: Remove fullscreen methods
# possible first bad commit: [7f4386e90a64a1a478730ca9f7f30b998d8ac36b] westoy: Use subsurfaces for tooltips instead of transient windows
# possible first bad commit: [e22952bb13cf7e7d16b9d8a36c6e9c82307436eb] westoy: Schedule a full resize when we add a subsurface
# possible first bad commit: [b0d604ff5b079b2d182af539c12a7991ccf19e18] stacking: Remove transient window support
# possible first bad commit: [faf27a9a3b24014c5c47574e5f67986327387556] weston: Send xdg_surface_send_focused_[un]set when focusing surfaces
# possible first bad commit: [f84327aef2f7b68ef4ae882991b4331ee9f3d164] input: Remove exported function weston_pointer_verify()
# possible first bad commit: [adaa20c017a549593e2a735a2d8a73edc9c17b6d] desktop-shell: initialize children link
# possible first bad commit: [38b58eba74ef7d9e8460b455f1e1cbea12d87bae] desktop-shell: maximize the surface with the kbd focus
# possible first bad commit: [32b793cb7fc4b17eb3a7af182f7adbf853e76e2d] compositor: Clarify XDG_RUNTIME_DIR misconfiguration message
# possible first bad commit: [4d363cfcf6025db2277005845957e0b0e956ebd0] input: Fix weston_seat_init_keyboard() error path
# possible first bad commit: [23900f70e57277805db652316b76d18b2d59281c] input: Empty the current input region when configuring pointer surfaces
# possible first bad commit: [cd31275f28b0a04d2ec5426dc81e875197b47e52] build: Stop using xmllint to validate protocol files
# possible first bad commit: [0822942be2d76e01a749f630952545fd0663bbbe] build: Drop wayland-scanner.mk
# possible first bad commit: [0aa19e9457ce3258a4df74876e542f0b6fbbf2ba] build: Only regenerate src/git-version.h when .git/logs/HEAD changes
# possible first bad commit: [0987f81ee9d3ae5a2ec183bfb9c3ba3dd3bbb4a7] build: Move shared/Makefile.am into toplevel Makefile.am
# possible first bad commit: [e73eccdb66782104fe9b0b05e534313d4e49d420] build: Move clients/Makefile.am into toplevel Makefile.am
# possible first bad commit: [1e80afa36c652302149aedc0b0ef4af964b8bfd5] build: Move tests/Makefile.am into toplevel Makefile.am
# possible first bad commit: [b7e3ef460f57f40ed1816ddcb45141dafb90bafd] build: Move src/Makefile.am into toplevel Makefile.am
# possible first bad commit: [68c5c109052610e5873e2160129d21a0ad94482d] build: Move man/Makefile.am into toplevel Makefile.am
# possible first bad commit: [f9bc6f63fbd4c1541f733465984ddff0dfd24e9f] build: Move protocol/Makefile.am into toplevel Makefile.am
# possible first bad commit: [058bd326208e638fbdf0dc5b868f7880cb84cec6] build: Move xwayland/Makefile.am into toplevel Makefile.am
# possible first bad commit: [bc00dbe4f5c044efef3359b3418bf0417c3669b2] build: Move desktop-shell/Makefile.am into toplevel Makefile.am
------------------------------

I'm using the following patch to disable tooltips in the launcher as a workaround.

--- clients/desktop-shell.c     2015-01-08 17:06:00.000000000 -0800
+++ clients/desktop-shell.c.new 2015-02-10 02:37:27.994904169 -0800
@@ -253,8 +253,6 @@
 {
        struct panel_launcher *launcher = data;
 
-       widget_set_tooltip(widget, basename((char *)launcher->path), x, y);
-
        return CURSOR_LEFT_PTR;
 }
 
@@ -306,7 +304,6 @@
        struct panel_launcher *launcher = data;
 
        launcher->focused = 0;
-       widget_destroy_tooltip(widget);
        widget_schedule_redraw(widget);
 }
Comment 1 Pekka Paalanen 2015-02-13 07:47:31 UTC
Could you grab an output log, please?
$ weston-launch > log.txt 2>&1
or just 'weston' instead of 'weston-launch' if that is appropriate for you.
You should do that without your custom changes and trigger the problem so that we see if weston or weston-desktop-shell complain about anything.

A wild guess: could you check if you have several versions of libwayland-* or wayland.xml installed?

About the build problems, it seems there were lots of build system patches going on in your list; did you do a clean build starting with autogen.sh each step? That might be needed when the build system went through changes.
Comment 2 James Harvey 2015-02-13 13:43:55 UTC
Created attachment 113463 [details]
weston log

Hi Pekka,
 Thanks for taking time to look at this.  I reverted my patch and confirmed the laucher is freezing up again.  My weston log file is attached, but doesn't look like it has an errors.  These are the libwayland-* and wayland.xml libraries I have installed.  I could try just a 32 or 64 bit build if you think it might help.

/usr/lib32/libwayland-client.so
/usr/lib32/libwayland-client.so.0
/usr/lib32/libwayland-client.so.0.3.0
/usr/lib32/libwayland-cursor.so
/usr/lib32/libwayland-cursor.so.0
/usr/lib32/libwayland-cursor.so.0.0.0
/usr/lib32/libwayland-egl.so
/usr/lib32/libwayland-egl.so.1
/usr/lib32/libwayland-egl.so.1.0.0
/usr/lib32/libwayland-server.so
/usr/lib32/libwayland-server.so.0
/usr/lib32/libwayland-server.so.0.1.0
/usr/lib64/libwayland-client.so
/usr/lib64/libwayland-client.so.0
/usr/lib64/libwayland-client.so.0.3.0
/usr/lib64/libwayland-cursor.so
/usr/lib64/libwayland-cursor.so.0
/usr/lib64/libwayland-cursor.so.0.0.0
/usr/lib64/libwayland-egl.so
/usr/lib64/libwayland-egl.so.1
/usr/lib64/libwayland-egl.so.1.0.0
/usr/lib64/libwayland-server.so
/usr/lib64/libwayland-server.so.0
/usr/lib64/libwayland-server.so.0.1.0
/usr/share/wayland/wayland.xml

For the build issues: I'm using EGIT_COMMIT="some-commit" emerge =dev-libs/weston-9999 with gentoo's portage system.  This pulls in a fresh copy of the tree at that commit, and I verified the ebuild calls autoreconf --force.  For example, I tried commit 0987f81e again and configure ran fine, but make failed with: No rule to make target 'src/screenshooter-server-protocol.h'.
I ran the autogen.sh script manually, and I got the same result.  I believe all the build failures above were due to missing headers, although not always the same one.
Comment 3 Pekka Paalanen 2015-02-18 09:32:48 UTC
Thanks. Nothing looks out of the ordinary, so I cannot imagine what the cause might be.
Comment 4 James Harvey 2015-02-18 17:40:49 UTC
Okay, thanks for checking.  I'll try to troubleshoot this some more, and if I come up with more useful data I'll post it here.
Comment 5 James Harvey 2015-11-27 04:44:09 UTC
I have upgraded to:

linux-4.4.0-rc2
mesa-git-27a88a9)
cairo-1.14.4
wayland-1.9.0
weston-1.9.0

..and I'm no longer seeing tooltip problems, so I'm marking it as fixed. Thanks.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.