aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/dialogs/comp-editor.c
diff options
context:
space:
mode:
authorJP Rosevear <jpr@ximian.com>2004-01-17 00:29:21 +0800
committerJP Rosevear <jpr@src.gnome.org>2004-01-17 00:29:21 +0800
commit9b9570bd65b6ff0b6015380beec2a40a4c486156 (patch)
treead9a9ac8801b54aae1517998b798c7d05f3c71e9 /calendar/gui/dialogs/comp-editor.c
parent3889b52931d894b52a0a734306b91ea60f693fb4 (diff)
downloadgsoc2013-evolution-9b9570bd65b6ff0b6015380beec2a40a4c486156.tar
gsoc2013-evolution-9b9570bd65b6ff0b6015380beec2a40a4c486156.tar.gz
gsoc2013-evolution-9b9570bd65b6ff0b6015380beec2a40a4c486156.tar.bz2
gsoc2013-evolution-9b9570bd65b6ff0b6015380beec2a40a4c486156.tar.lz
gsoc2013-evolution-9b9570bd65b6ff0b6015380beec2a40a4c486156.tar.xz
gsoc2013-evolution-9b9570bd65b6ff0b6015380beec2a40a4c486156.tar.zst
gsoc2013-evolution-9b9570bd65b6ff0b6015380beec2a40a4c486156.zip
convert to GObject
2004-01-16 JP Rosevear <jpr@ximian.com> * gui/e-comp-editor-registry.h: convert to GObject * gui/e-comp-editor-registry.c (registry_data_free): routine to free the registry data (dispose): destroy the registry data (finalize): finalize it (class_init): setup above (init): create full hash table (e_comp_editor_registry_add): weak ref the editor and strdup the hash table key (editor_destroy_cb): we get the registry data now, just remove it * gui/dialogs/comp-editor.c (close_dialog): disconnect the signal handlers, its a bit of a hack but it is a simple fix svn path=/trunk/; revision=24277
Diffstat (limited to 'calendar/gui/dialogs/comp-editor.c')
-rw-r--r--calendar/gui/dialogs/comp-editor.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c
index 805cf550a4..d204de56e8 100644
--- a/calendar/gui/dialogs/comp-editor.c
+++ b/calendar/gui/dialogs/comp-editor.c
@@ -522,6 +522,13 @@ close_dialog (CompEditor *editor)
priv = editor->priv;
+ /* FIXME Unfortunately we do this here because otherwise corba
+ calls happen during destruction and we might get a change
+ notification back when we are in an inconsistent state */
+ if (priv->view)
+ g_signal_handlers_disconnect_matched (G_OBJECT (priv->view),
+ G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, editor);
+
gtk_widget_destroy (GTK_WIDGET (editor));
}