From b637a40df950398cb0b4ab7f77f73fc7e7886fe8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Fri, 10 Jan 2014 00:27:35 -0800 Subject: [PATCH] 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 --- clients/window.c | 6 ++---- 1 file 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)