diff options
author | Tristan Van Berkom <tristan.van.berkom@gmail.com> | 2010-03-30 11:48:52 -0400 |
---|---|---|
committer | Tristan Van Berkom <tristan.van.berkom@gmail.com> | 2010-03-30 11:48:52 -0400 |
commit | 680b92511d7bf8908ec37e1eb6adbc7d81e27dc3 (patch) | |
tree | 1e9b511e50818318afdac2f056f82f7d6d92807b | |
parent | 7d9925eab354abf167382d512bc75b3fd4b5a263 (diff) | |
download | glade-680b92511d7bf8908ec37e1eb6adbc7d81e27dc3.tar.gz |
* gladeui/glade-signal-editor.c: Fixed access to signal name in object dialog hander (was a crasher).
* gladeui/glade-widget.c: Fixed GladeWidget to update support warnings on newly added signals.
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | gladeui/glade-signal-editor.c | 21 | ||||
-rw-r--r-- | gladeui/glade-widget.c | 2 |
3 files changed, 21 insertions, 6 deletions
@@ -4,6 +4,10 @@ handler when updating the buffer text (this feedback loop was causing segfaults when undoing modifications to a text buffer's text). + * gladeui/glade-signal-editor.c: Fixed access to signal name in object dialog hander (was a crasher). + + * gladeui/glade-widget.c: Fixed GladeWidget to update support warnings on newly added signals. + 2010-03-29 Tristan Van Berkom <tvb@gnome.org> * gladeui/glade-editor-property.[ch]: diff --git a/gladeui/glade-signal-editor.c b/gladeui/glade-signal-editor.c index 2898629d..dc7a41ae 100644 --- a/gladeui/glade-signal-editor.c +++ b/gladeui/glade-signal-editor.c @@ -161,10 +161,15 @@ glade_signal_editor_after_swapped_toggled (GtkCellRendererToggle *cell, } static void -append_slot (GtkTreeModel *model, GtkTreeIter *iter_signal) +append_slot (GladeSignalEditor *self, GtkTreeIter *iter_signal, const gchar *signal_name) { GtkTreeIter iter_new_slot; GtkTreeIter iter_class; + GtkTreeModel *model = GTK_TREE_MODEL (self->model); + GladeSignal *sig = glade_signal_new (signal_name, NULL, NULL, FALSE, FALSE); + + /* Check versioning warning here with a virtual signal */ + glade_project_update_signal_support_warning (self->widget, sig); gtk_tree_store_append (GTK_TREE_STORE (model), &iter_new_slot, iter_signal); gtk_tree_store_set (GTK_TREE_STORE (model), &iter_new_slot, @@ -179,12 +184,16 @@ append_slot (GtkTreeModel *model, GtkTreeIter *iter_signal) GSE_COLUMN_SLOT, TRUE, GSE_COLUMN_USERDATA_SLOT, TRUE, GSE_COLUMN_CONTENT, TRUE, + GSE_COLUMN_WARN, FALSE, + GSE_COLUMN_TOOLTIP, sig->support_warning, -1); gtk_tree_model_iter_parent (model, &iter_class, iter_signal); /* mark the signal & class name as bold */ gtk_tree_store_set (GTK_TREE_STORE (model), iter_signal, GSE_COLUMN_BOLD, TRUE, -1); gtk_tree_store_set (GTK_TREE_STORE (model), &iter_class, GSE_COLUMN_BOLD, TRUE, -1); + + glade_signal_free (sig); } static void @@ -324,7 +333,7 @@ glade_signal_editor_handler_editing_done_impl (GladeSignalEditor *self, GSE_COLUMN_USERDATA_EDITABLE,TRUE, -1); /* append a <Type...> slot */ - append_slot (model, &iter_signal); + append_slot (self, &iter_signal, signal_name); } /* we're removing a signal handler */ @@ -715,13 +724,13 @@ glade_signal_editor_user_data_activate (GtkCellRenderer *icon_renderer, gtk_tree_model_get_iter (model, &iter, path); gtk_tree_model_get (model, &iter, - GSE_COLUMN_SIGNAL, &signal_name, GSE_COLUMN_HANDLER, &handler, GSE_COLUMN_USERDATA,&object_name, GSE_COLUMN_SWAPPED, &swapped, GSE_COLUMN_AFTER, &after, -1); - project = glade_widget_get_project (editor->widget); + signal_name = glade_signal_editor_get_signal_name (model, &iter); + project = glade_widget_get_project (editor->widget); if (object_name) { @@ -1250,7 +1259,7 @@ glade_signal_editor_load_widget (GladeSignalEditor *editor, GSE_COLUMN_USERDATA_SLOT, widget_signal->userdata ? FALSE : TRUE, GSE_COLUMN_CONTENT, TRUE, - GSE_COLUMN_WARN, widget_signal->support_warning != NULL, + GSE_COLUMN_WARN, FALSE, GSE_COLUMN_TOOLTIP, widget_signal->support_warning, -1); } @@ -1270,7 +1279,7 @@ glade_signal_editor_load_widget (GladeSignalEditor *editor, GSE_COLUMN_SLOT, TRUE, GSE_COLUMN_USERDATA_SLOT, TRUE, GSE_COLUMN_CONTENT, TRUE, - GSE_COLUMN_WARN, sig->support_warning != NULL, + GSE_COLUMN_WARN, FALSE, GSE_COLUMN_TOOLTIP, sig->support_warning, -1); } diff --git a/gladeui/glade-widget.c b/gladeui/glade-widget.c index 24278e82..7bd82eb6 100644 --- a/gladeui/glade-widget.c +++ b/gladeui/glade-widget.c @@ -213,6 +213,8 @@ glade_widget_add_signal_handler_impl (GladeWidget *widget, GladeSignal *signal_h new_signal_handler = glade_signal_clone (signal_handler); g_ptr_array_add (signals, new_signal_handler); + + glade_project_update_signal_support_warning (widget, new_signal_handler); } static void |