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:
@ -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
|
||||
|
||||
Reference in New Issue
Block a user