summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Van Berkom <tvb@src.gnome.org>2008-03-10 00:30:04 +0000
committerTristan Van Berkom <tvb@src.gnome.org>2008-03-10 00:30:04 +0000
commitd3273878756e7042c53286ad6511927b7ad413a9 (patch)
treee272ca225c7e7f616f296525ae7b2e85d1694934
parent4f4267f63bc2bbae7808c0361ac7d0ec0c138f12 (diff)
downloadglade-d3273878756e7042c53286ad6511927b7ad413a9.tar.gz
- Fixed treeview issues with objects dialog, fixing the atk relations bug
* gladeui/glade-editor-property.c: - Fixed treeview issues with objects dialog, fixing the atk relations bug 512081. svn path=/trunk/; revision=1716
-rw-r--r--ChangeLog4
-rw-r--r--gladeui/glade-builtins.c2
-rw-r--r--gladeui/glade-editor-property.c9
3 files changed, 14 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 76badad6..affc85d3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -13,7 +13,9 @@
- Fixed crasher bug 506713.
- Reverted to real time string editing and not using
focus-out handlers anymore.
-
+ - Fixed treeview issues with objects dialog, fixing the
+ atk relations bug 512081.
+
* gladeui/glade-base-editor.c: Made sure idle handlers werent
updating treeviews after the object is destroyed (also bug 506713).
diff --git a/gladeui/glade-builtins.c b/gladeui/glade-builtins.c
index 3f9e6a69..51ce5355 100644
--- a/gladeui/glade-builtins.c
+++ b/gladeui/glade-builtins.c
@@ -514,6 +514,8 @@ param_objects_validate (GParamSpec *pspec,
g_type_is_a (G_OBJECT_TYPE (object),
ospec->type) == FALSE)
toremove = g_list_prepend (toremove, object);
+
+
}
for (list = toremove; list; list = list->next)
diff --git a/gladeui/glade-editor-property.c b/gladeui/glade-editor-property.c
index 96035a3c..27e6e410 100644
--- a/gladeui/glade-editor-property.c
+++ b/gladeui/glade-editor-property.c
@@ -2317,10 +2317,15 @@ glade_eprop_object_populate_view_real (GladeEditorProperty *eprop,
glade_param_spec_objects_get_type
(GLADE_PARAM_SPEC_OBJECTS(eprop->klass->pspec)));
good_type =
+ g_type_is_a
+ (widget->adaptor->type,
+ glade_param_spec_objects_get_type
+ (GLADE_PARAM_SPEC_OBJECTS(eprop->klass->pspec))) ||
glade_util_class_implements_interface
(widget->adaptor->type,
glade_param_spec_objects_get_type
(GLADE_PARAM_SPEC_OBJECTS(eprop->klass->pspec)));
+
}
else
{
@@ -2435,6 +2440,7 @@ glade_eprop_object_selected (GtkCellRendererToggle *cell,
radio = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (model), "radio-list"));
+
gtk_tree_model_get_iter (model, &iter, path);
gtk_tree_model_get (model, &iter,
OBJ_COLUMN_SELECTED, &enabled, -1);
@@ -2771,8 +2777,11 @@ glade_eprop_objects_selected_widget (GtkTreeModel *model,
OBJ_COLUMN_SELECTED, &selected,
OBJ_COLUMN_WIDGET, &widget, -1);
+
if (selected)
+ {
*ret = g_list_append (*ret, widget->object);
+ }
return FALSE;
}