diff --git a/gtk/inspector/inspect-button.c b/gtk/inspector/inspect-button.c index b30b3637fe..96255ccdcb 100644 --- a/gtk/inspector/inspect-button.c +++ b/gtk/inspector/inspect-button.c @@ -208,12 +208,16 @@ static void select_widget (GtkInspectorWindow *iw, GtkWidget *widget) { + GtkInspectorWidgetTree *wt = GTK_INSPECTOR_WIDGET_TREE (iw->widget_tree); + GtkTreeIter iter; + iw->selected_widget = widget; gtk_notebook_set_current_page (GTK_NOTEBOOK (iw->top_notebook), 0); - gtk_inspector_widget_tree_select_object (GTK_INSPECTOR_WIDGET_TREE (iw->widget_tree), - G_OBJECT (widget)); + if (!gtk_inspector_widget_tree_find_object (wt, G_OBJECT (widget), &iter)) + gtk_inspector_widget_tree_scan (wt, gtk_widget_get_toplevel (widget)); + gtk_inspector_widget_tree_select_object (wt, G_OBJECT (widget)); } static void