diff options
author | Kristian Høgsberg <krh@bitplanet.net> | 2014-01-10 00:27:35 -0800 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2014-01-10 00:27:35 -0800 |
commit | b637a40df950398cb0b4ab7f77f73fc7e7886fe8 (patch) | |
tree | ee29dfec6f00cf3a6323083f568ca019b4aa9d6d | |
parent | 9046d2424ab388a0acde1bf0a0c51e292d146f9f (diff) |
window: Properly destroy tooltip windows when parent window is destroyed1.3.92
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
-rw-r--r-- | clients/window.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/clients/window.c b/clients/window.c index 19519b3c..d59b9c7f 100644 --- a/clients/window.c +++ b/clients/window.c @@ -1653,10 +1653,8 @@ widget_destroy(struct widget *widget) if (surface->widget == widget && surface->subsurface) surface_destroy(widget->surface); - if (widget->tooltip) { - free(widget->tooltip); - widget->tooltip = NULL; - } + if (widget->tooltip) + widget_destroy_tooltip(widget); wl_list_for_each(input, &display->input_list, link) { if (input->focus_widget == widget) |