diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2002-11-15 04:32:46 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2002-11-15 04:32:46 +0800 |
commit | 4f5782221ff72c0f9bf2066fe88aadadfb9c0c5b (patch) | |
tree | 403ba09391610f38fcacb7af6d85fbc8355e5717 /shell/e-shell-importer.c | |
parent | c2effba7cf78ed636248da4c45ceefc2df52261b (diff) | |
download | gsoc2013-evolution-4f5782221ff72c0f9bf2066fe88aadadfb9c0c5b.tar.gz gsoc2013-evolution-4f5782221ff72c0f9bf2066fe88aadadfb9c0c5b.tar.zst gsoc2013-evolution-4f5782221ff72c0f9bf2066fe88aadadfb9c0c5b.zip |
Removed. (no_views_left_cb): Use g_object_add_weak_pointer() instad of
* main.c (quit_box_destroyed_callback): Removed.
(no_views_left_cb): Use g_object_add_weak_pointer() instad of
connecting to the "destroy" signal.
(destroy_cb): Removed.
(shell_weak_notify): New.
(idle_cb): Use g_object_weak_ref() on the shell object instead of
connecting to the "destroy" signal.
* evolution-test-component.c (dialog_destroy_callback): Removed.
(dialog_weak_notify): New.
(create_new_folder_selector): Use g_object_weak_ref() on the
dialog instead of connecting the "destroy" signal.
* e-shortcuts.c (view_destroyed_cb): Removed.
(view_weak_notify): New.
(e_shortcuts_new_view): g_object_weak_ref() the new view instead
of connecting the "destroy" signal.
(impl_dispose): Free the ->views and g_object_weak_unref() all the
items.
* e-shell.c (view_destroy_cb): Removed.
(view_weak_notify): New.
(create_view): Use g_object_weak_ref() on the newly created view
instead of connecting to the "destroy" signal.
(impl_dispose): g_object_weak_unref() the views.
(e_shell_show_settings): Use g_object_add_weak_pointer() on the
settings_dialog instead of connecting to the "destroy" signal.
(settings_dialog_destroy_cb): Removed.
* e-shell-shared-folder-picker-dialog.c
(progress_bar_weak_notify): New.
(progress_bar_destroy_callback): Removed.
(create_progress_dialog): Use g_object_weak_ref() on the progress
bar object instead of connecting to its "destroy" signal.
(shell_destroy_callback): Removed.
(shell_view_destroy_callback): Removed.
(storage_destroy_callback): Removed.
(shell_weak_notify): New.
(shell_view_weak_notify): New.
(storage_weak_notify): New.
(discover_folder): Use g_object_weak_ref() on the shell, parent,
storage objects instead of connecting to their "destroy" signals.
* e-shell-importer.c: Removed member destroyed from
ImporterComponentData.
(import_cb): Instead of checking if ->destroyed is TRUE, check if
->dialog is NULL to decide whether the dialog has been destroyed
or not.
(dialog_destroy_cb): Removed.
(start_import): Use g_object_weak_ref() on the dialog object
instead of connecting to its "destroy" signal.
(dialog_close): Removed.
(dialog_weak_notify): New.
(show_import_wizard): Use g_object_weak_ref() on the dialog object
instead of connecting to its "destroy" signal.
(import_druid_destroy): New.
(import_druid_weak_notify): New.
(show_import_wizard): Use g_object_weak_ref() on the druid object
instead of connecting to its "destroy" signal.
* e-shell-folder-selection-dialog.c
(e_shell_folder_selection_dialog_construct): g_object_weak_ref()
the shell object instead of connecting to its "destroy" signal.
* e-shell-folder-creation-dialog.c (dialog_destroy_cb): Removed.
(dialog_destroy_notify): New.
(e_shell_show_folder_creation_dialog): g_object_weak_ref() the
dialog instead of connecting to its "destroy" signal.
(shell_destroy_cb): Removed.
(shell_destroy_notify): New.
(e_shell_show_folder_creation_dialog): g_object_weak_ref() the
shell object instead of connecting to its "destroy" signal.
* e-shell-config-offline.c (config_control_destroy_callback):
Removed.
(config_control_destroy_notify): New.
(e_shell_config_offline_create_widget): g_object_weak_ref() the
config_control instead of connecting to its "destroy" signal.
* e-shell-config-default-folders.c
(config_control_destroy_callback): Removed.
(config_control_destroy_notify): New.
(e_shell_config_default_folders_create_widget):
g_object_weak_ref() instead of connecting to the "destroy" signal.
* e-shell-config-autocompletion.c (config_control_destroy_notify):
New.
(config_control_destroy_callback): Removed.
(e_shell_config_autocompletion_create_widget):
g_object_weak_ref() instead of connecting to the "destroy" signal.
* e-activity-handler.c (task_bar_destroy_cb): Removed.
(task_bar_destroy_notify): New.
(e_activity_handler_attach_task_bar): Weak_ref the task_bar using
task_bar_destroy_notify.
(impl_dispose): Weak_unref the task bars in priv->task_bars.
svn path=/trunk/; revision=18756
Diffstat (limited to 'shell/e-shell-importer.c')
-rw-r--r-- | shell/e-shell-importer.c | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/shell/e-shell-importer.c b/shell/e-shell-importer.c index 9cfedb9dc0..b2bb3b00c1 100644 --- a/shell/e-shell-importer.c +++ b/shell/e-shell-importer.c @@ -216,7 +216,6 @@ typedef struct _ImporterComponentData { int item; gboolean stop; - gboolean destroyed; } ImporterComponentData; static gboolean importer_timeout_fn (gpointer data); @@ -259,8 +258,8 @@ import_cb (EvolutionImporterListener *listener, } g_free (icd->filename); - if (!icd->destroyed) - gtk_object_destroy (GTK_OBJECT (icd->dialog)); + if (icd->dialog != NULL) + gtk_widget_destroy (icd->dialog); bonobo_object_unref (BONOBO_OBJECT (icd->listener)); g_object_unref (icd->client); g_free (icd); @@ -299,11 +298,13 @@ dialog_clicked_cb (GnomeDialog *dialog, } static void -dialog_destroy_cb (GtkObject *object, - ImporterComponentData *icd) +dialog_destroy_notify (void *data, + GObject *where_the_dialog_was) { + ImporterComponentData *icd = (ImporterComponentData *) data; + + icd->dialog = NULL; icd->stop = TRUE; - icd->destroyed = TRUE; } struct _IIDInfo { @@ -505,15 +506,14 @@ start_import (const char *folderpath, icd = g_new (ImporterComponentData, 1); icd->stop = FALSE; - icd->destroyed = FALSE; icd->dialog = GNOME_DIALOG (gnome_dialog_new (_("Importing"), GNOME_STOCK_BUTTON_CANCEL, NULL)); g_signal_connect (icd->dialog, "clicked", G_CALLBACK (dialog_clicked_cb), icd); - g_signal_connect (icd->dialog, "destroy", - G_CALLBACK (dialog_destroy_cb), icd); - + + g_object_weak_ref (icd->dialog, dialog_destroy_notify, icd); + label = g_strdup_printf (_("Importing %s.\nStarting %s"), filename, real_iid); icd->contents = gtk_label_new (label); @@ -937,9 +937,11 @@ import_druid_cancel (GnomeDruid *druid, } static void -import_druid_destroy (GtkObject *object, - ImportData *data) +import_druid_weak_notify (void *data, + GObject *where_the_object_was) { + ImportData *data = (ImportData *) data; + g_object_unref (data->wizard); g_free (data->choosen_iid); g_free (data); @@ -1186,9 +1188,11 @@ druid_finish_button_change (GnomeDruid *druid) } static void -close_dialog (GtkWidget *dialog, - gboolean *dialog_open) +close_dialog (void *data, + GObject *where_the_dialog_was) { + gboolean *dialog_open = (gboolean *) data; + *dialog_open = FALSE; } @@ -1214,8 +1218,7 @@ show_import_wizard (BonoboUIComponent *component, gtk_window_set_wmclass (GTK_WINDOW (data->dialog), "importdruid", "Evolution:shell"); gtk_window_set_transient_for (GTK_WINDOW (data->dialog), GTK_WINDOW (user_data)); - g_signal_connect (data->dialog, "destroy", - G_CALLBACK (close_dialog), &dialog_open); + g_object_weak_ref (data->dialog, dialog_weak_notify, &dialog_open); gnome_dialog_close_hides (GNOME_DIALOG (data->dialog), TRUE); data->druid = glade_xml_get_widget (data->wizard, "druid1"); @@ -1274,8 +1277,8 @@ show_import_wizard (BonoboUIComponent *component, /* Finish page */ g_signal_connect (data->finish, "finish", G_CALLBACK (import_druid_finish), data); - g_signal_connect (data->dialog, "destroy", - G_CALLBACK (import_druid_destroy), data); + + g_object_weak_ref (data->dialog, import_druid_weak_notify, data); gtk_widget_show_all (data->dialog); } |