diff --git a/gtk/inspector/object-tree.c b/gtk/inspector/object-tree.c index b86f9bcbe5..bda662c094 100644 --- a/gtk/inspector/object-tree.c +++ b/gtk/inspector/object-tree.c @@ -1312,10 +1312,22 @@ gtk_inspector_object_tree_select_object (GtkInspectorObjectTree *wt, GTK_LIST_SCROLL_SELECT | GTK_LIST_SCROLL_FOCUS, NULL); - g_signal_emit (wt, signals[OBJECT_SELECTED], 0, object); // FIXME + g_signal_emit (wt, signals[OBJECT_SELECTED], 0, object); g_object_unref (row_item); } +static void +on_selected_item (GtkSingleSelection *selection, + GParamSpec *pspec, + GtkInspectorObjectTree *wt) +{ + GObject *selected = gtk_single_selection_get_selected_item (selection); + GtkTreeListRow *row = GTK_TREE_LIST_ROW (selected); + GObject *object = gtk_tree_list_row_get_item (row); + g_signal_emit (wt, signals[OBJECT_SELECTED], 0, object); + g_object_unref (object); +} + void gtk_inspector_object_tree_set_display (GtkInspectorObjectTree *wt, GdkDisplay *display) @@ -1329,4 +1341,5 @@ gtk_inspector_object_tree_set_display (GtkInspectorObjectTree *wt, wt->priv->selection = gtk_single_selection_new (g_object_ref (G_LIST_MODEL (wt->priv->tree_model))); gtk_column_view_set_model (GTK_COLUMN_VIEW (wt->priv->list), GTK_SELECTION_MODEL (wt->priv->selection)); + g_signal_connect (wt->priv->selection, "notify::selected-item", G_CALLBACK (on_selected_item), wt); }