[glade] Ignore widgets that are not part of the project when generating edges of directed graph used to sort



commit c4c50ab2d1f436f61c4a46986dc7b598d562c99e
Author: Juan Pablo Ugarte <juanpablougarte gmail com>
Date:   Sat Apr 12 16:26:33 2014 -0300

    Ignore widgets that are not part of the project when generating edges
    of directed graph used to sort objects by topological order.
    
    Fixes bug 727992 "Editing UI and saving does not remove deleted Combo with Entry"

 gladeui/glade-project.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
---
diff --git a/gladeui/glade-project.c b/gladeui/glade-project.c
index b85e944..2286308 100644
--- a/gladeui/glade-project.c
+++ b/gladeui/glade-project.c
@@ -2413,7 +2413,13 @@ glade_project_get_graph_deps (GladeProject *project)
       for (ll = _glade_widget_peek_prop_refs (predecessor); ll; ll = g_list_next (ll))
         {
           GladeWidget *successor = glade_property_get_widget (ll->data);
-          GladeWidget *successor_top = glade_widget_get_toplevel (successor);
+          GladeWidget *successor_top;
+
+          /* Ignore widgets that are not part of this project. (ie removed ones) */
+          if (glade_widget_get_project (successor) != project)
+            continue;
+
+          successor_top = glade_widget_get_toplevel (successor);
 
           /* Ignore objects within the same toplevel */
           if (predecessor_top != successor_top)


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