[gnome-builder] preferences: remove listboxrow ancestors



commit a74cb9978d348b1cdd91f14640d0d0f97043140b
Author: Christian Hergert <chergert redhat com>
Date:   Sat Feb 18 13:36:30 2017 -0800

    preferences: remove listboxrow ancestors
    
    If we added a listboxrow ancestor, we should remove that widget too for
    consistency.

 libide/preferences/ide-preferences-perspective.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)
---
diff --git a/libide/preferences/ide-preferences-perspective.c 
b/libide/preferences/ide-preferences-perspective.c
index ca7130a..52f7691 100644
--- a/libide/preferences/ide-preferences-perspective.c
+++ b/libide/preferences/ide-preferences-perspective.c
@@ -874,12 +874,20 @@ ide_preferences_perspective_remove_id (IdePreferences *preferences,
     {
       if (g_hash_table_remove (self->widgets, GINT_TO_POINTER (widget_id)))
         {
-          gtk_widget_destroy (widget);
+          GtkWidget *parent = gtk_widget_get_ancestor (widget, GTK_TYPE_LIST_BOX_ROW);
+
+          /* in case we added our own row ancestor, destroy it */
+          if (parent != NULL)
+            gtk_widget_destroy (parent);
+          else
+            gtk_widget_destroy (widget);
+
           return TRUE;
         }
     }
 
   g_warning ("No Preferences widget with number %i could be found and thus removed.", widget_id);
+
   return FALSE;
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]