diff --git a/gtk/gtkpopover.c b/gtk/gtkpopover.c index bdb8c6aaf0..65e1b05841 100644 --- a/gtk/gtkpopover.c +++ b/gtk/gtkpopover.c @@ -1455,7 +1455,7 @@ _gtk_popover_parent_size_allocate (GtkWidget *widget, static void _unmanage_popover (GObject *object) { - g_object_run_dispose (object); + gtk_popover_update_relative_to (GTK_POPOVER (object), NULL); g_object_unref (object); } @@ -1577,6 +1577,8 @@ gtk_popover_update_relative_to (GtkPopover *popover, priv->window = NULL; } + g_clear_object (&priv->prev_focus_widget); + if (priv->widget) { if (g_signal_handler_is_connected (priv->widget, priv->hierarchy_changed_id))