Bug 72931

Summary: deskop-shell tooltips should be destroyed when their output is removed (SEGV triggered)
Product: Wayland Reporter: U. Artie Eoff <ullysses.a.eoff>
Component: westonAssignee: Wayland bug list <wayland-bugs>
Status: VERIFIED FIXED QA Contact:
Severity: critical    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: gdb backtrace
another gdb backtrace encountered

Description U. Artie Eoff 2013-12-20 19:29:32 UTC
Created attachment 91056 [details]
gdb backtrace

Currently, in multi-output setup when the primary (left) output is removed/unplugged, any desktop-shell tooltips that are displayed on that output are moved to one of the remaining outputs.  As a result, those tooltips never go away unless the original output is plugged back in.

Furthermore, if you try to interact with that tooltip after it's moved to a different output (from it's original output), Weston encounters a SIGSEGV.

wayland (master) 1.3.91-0-g01bde63
drm (master) libdrm-2.4.50-0-g4c5de72
mesa (master) heads/master-0-gd580905
libva (master) libva-1.2.1-0-g88ed1eb
intel-driver (master) 1.2.1-0-g8f306e3
weston (master) heads/master-0-gdf42a80
Comment 1 U. Artie Eoff 2013-12-20 19:34:27 UTC
Created attachment 91058 [details]
another gdb backtrace encountered
Comment 2 Kristian Høgsberg 2014-01-10 08:28:49 UTC
Crash fixed by

commit 9046d2424ab388a0acde1bf0a0c51e292d146f9f
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Fri Jan 10 00:25:30 2014 -0800

    shell: Orphan child windows when a shell surface is destroyed
    
    We now track the child surfaces of a shell surface and the child surfaces
    have a pointer back to their parent.  We need to clean all this up and
    NULL out the childrens parent pointers when a shell surface is destroyed.
    
    Closes: https://bugs.freedesktop.org/show_bug.cgi?id=72931

and stuck tooltip fixed by

commit b637a40df950398cb0b4ab7f77f73fc7e7886fe8
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Fri Jan 10 00:27:35 2014 -0800

    window: Properly destroy tooltip windows when parent window is destroyed
    
    If we destroy a window with an active tooltip, we leave the tooltip
    hanging around.  Call tooltip destructor when destroying a window.
    This fixes the stuck tooltip observed when unplugging a monitor with
    an active tooltip on the panel.
    
    Closes: https://bugs.freedesktop.org/show_bug.cgi?id=72931

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.