window: Protect against popover destruction on ::unmap

On popover_unmap(), perform the gtk_widget_unmap() call last, so the
GtkWindowPopover data is ensured to be alive throughout the function
if the popover widget is destroyed right on ::unmap.

https://bugzilla.gnome.org/show_bug.cgi?id=745829
This commit is contained in:
Carlos Garnacho
2015-03-16 13:46:14 +01:00
parent b4e61b759b
commit b4b23580a6

View File

@ -5955,17 +5955,17 @@ static void
popover_unmap (GtkWidget *widget,
GtkWindowPopover *popover)
{
if (popover->window)
{
gtk_widget_unmap (popover->widget);
gdk_window_hide (popover->window);
}
if (popover->unmap_id)
{
g_signal_handler_disconnect (widget, popover->unmap_id);
popover->unmap_id = 0;
}
if (popover->window)
{
gdk_window_hide (popover->window);
gtk_widget_unmap (popover->widget);
}
}
static void