aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2001-06-25 16:29:35 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2001-06-25 16:29:35 +0800
commitd2f749b6ab48d85ca4411894e9960df2cc07ef9f (patch)
treea3c0923d1a365ec853848a6b7aae448666b20091
parent57a9a15d4216c4402373781adf32231c54ce92a9 (diff)
downloadgsoc2013-evolution-d2f749b6ab48d85ca4411894e9960df2cc07ef9f.tar
gsoc2013-evolution-d2f749b6ab48d85ca4411894e9960df2cc07ef9f.tar.gz
gsoc2013-evolution-d2f749b6ab48d85ca4411894e9960df2cc07ef9f.tar.bz2
gsoc2013-evolution-d2f749b6ab48d85ca4411894e9960df2cc07ef9f.tar.lz
gsoc2013-evolution-d2f749b6ab48d85ca4411894e9960df2cc07ef9f.tar.xz
gsoc2013-evolution-d2f749b6ab48d85ca4411894e9960df2cc07ef9f.tar.zst
gsoc2013-evolution-d2f749b6ab48d85ca4411894e9960df2cc07ef9f.zip
Get the shell to unregister the components on exit again.
svn path=/trunk/; revision=10475
-rw-r--r--shell/ChangeLog17
-rw-r--r--shell/e-shell.c5
-rw-r--r--shell/e-shell.h2
-rw-r--r--shell/main.c2
4 files changed, 25 insertions, 1 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog
index 0b08a5ae43..726e4ec8f7 100644
--- a/shell/ChangeLog
+++ b/shell/ChangeLog
@@ -1,5 +1,22 @@
2001-06-25 Ettore Perazzoli <ettore@ximian.com>
+ * main.c (no_views_left_cb): Call `e_shell_unregister_all()'.
+
+ * e-shell.c (e_shell_unregister_all): New.
+
+2001-06-25 Ettore Perazzoli <ettore@ximian.com>
+
+ * 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 <ettore@ximian.com>
+
* e-storage-set-view.c (convert_gdk_drag_action_to_corba): Remove
trailing "\n" from g_warning.
(convert_corba_drag_action_to_gdk): Likewise.
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 ();