diff options
author | JP Rosevear <jpr@ximian.com> | 2004-01-17 00:29:21 +0800 |
---|---|---|
committer | JP Rosevear <jpr@src.gnome.org> | 2004-01-17 00:29:21 +0800 |
commit | 9b9570bd65b6ff0b6015380beec2a40a4c486156 (patch) | |
tree | ad9a9ac8801b54aae1517998b798c7d05f3c71e9 /calendar/gui/dialogs | |
parent | 3889b52931d894b52a0a734306b91ea60f693fb4 (diff) | |
download | gsoc2013-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')
-rw-r--r-- | calendar/gui/dialogs/comp-editor.c | 7 |
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)); } |