From d2f749b6ab48d85ca4411894e9960df2cc07ef9f Mon Sep 17 00:00:00 2001 From: Ettore Perazzoli Date: Mon, 25 Jun 2001 08:29:35 +0000 Subject: Get the shell to unregister the components on exit again. svn path=/trunk/; revision=10475 --- shell/ChangeLog | 17 +++++++++++++++++ shell/e-shell.c | 5 ++++- shell/e-shell.h | 2 ++ shell/main.c | 2 ++ 4 files changed, 25 insertions(+), 1 deletion(-) (limited to 'shell') diff --git a/shell/ChangeLog b/shell/ChangeLog index 0b08a5ae43..726e4ec8f7 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,20 @@ +2001-06-25 Ettore Perazzoli + + * main.c (no_views_left_cb): Call `e_shell_unregister_all()'. + + * e-shell.c (e_shell_unregister_all): New. + +2001-06-25 Ettore Perazzoli + + * evolution-test-component.c (timeout_callback_1): Make the + activity cancellable, so we can test the pop-up menu. + + * e-activity-handler.c (show_cancellation_popup): New function to + show the "Cancel" pop-up for task widgets. + (task_widget_cancel_callback): Callback for the pop-up menu. + (task_widget_button_press_event_callback): Show the pop-up menu + when button 2 is pressed, if the activity is cancellable. + 2001-06-25 Ettore Perazzoli * e-storage-set-view.c (convert_gdk_drag_action_to_corba): Remove diff --git a/shell/e-shell.c b/shell/e-shell.c index bd18eba611..f0e86aa96a 100644 --- a/shell/e-shell.c +++ b/shell/e-shell.c @@ -1357,9 +1357,12 @@ e_shell_unregister_all (EShell *shell) g_return_if_fail (E_IS_SHELL (shell)); + /* FIXME: This really really sucks. */ + priv = shell->priv; -#error "Implement me" + gtk_object_unref (GTK_OBJECT (priv->component_registry)); + priv->component_registry = NULL; } diff --git a/shell/e-shell.h b/shell/e-shell.h index b876f64743..4e7f8a4fe1 100644 --- a/shell/e-shell.h +++ b/shell/e-shell.h @@ -99,6 +99,8 @@ gboolean e_shell_restore_from_settings (EShell *shell); void e_shell_destroy_all_views (EShell *shell); +void e_shell_unregister_all (EShell *shell); + void e_shell_component_maybe_crashed (EShell *shell, const char *uri, const char *type_name, diff --git a/shell/main.c b/shell/main.c index 40e6d0aaad..78dfe6573c 100644 --- a/shell/main.c +++ b/shell/main.c @@ -60,6 +60,8 @@ no_views_left_cb (EShell *shell, gpointer data) destroyed. But refcounting is broken at present, so this is a reasonable workaround for now. */ + e_shell_unregister_all (shell); + bonobo_object_unref (BONOBO_OBJECT (shell)); gtk_main_quit (); -- cgit v1.2.3