From 795541456d41b75534bc639cc79de50ebd9fe80b Mon Sep 17 00:00:00 2001 From: Michael Meeks Date: Tue, 14 Nov 2000 13:19:04 +0000 Subject: add (e_shell_view_construct): hook up to system_exception on ui_container. 2000-11-14 Michael Meeks * e-shell-view.c (unmerge_on_error): add (e_shell_view_construct): hook up to system_exception on ui_container. svn path=/trunk/; revision=6571 --- shell/ChangeLog | 6 ++++++ shell/e-shell-view.c | 16 ++++++++++++++++ 2 files changed, 22 insertions(+) (limited to 'shell') diff --git a/shell/ChangeLog b/shell/ChangeLog index 312b1356f2..be8e9d5fe8 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,9 @@ +2000-11-14 Michael Meeks + + * e-shell-view.c (unmerge_on_error): add + (e_shell_view_construct): hook up to system_exception on + ui_container. + 2000-11-11 Matt Bissiri * e-shell.c: (setup_components), (save_settings_for_component): diff --git a/shell/e-shell-view.c b/shell/e-shell-view.c index 9480dcac60..774de785d4 100644 --- a/shell/e-shell-view.c +++ b/shell/e-shell-view.c @@ -812,6 +812,20 @@ shell_view_interface_set_title (EvolutionShellView *shell_view, gtk_window_set_title (GTK_WINDOW (view), title); } +static void +unmerge_on_error (BonoboObject *object, + CORBA_Object cobject, + CORBA_Environment *ev) +{ + BonoboWindow *win; + + win = bonobo_ui_container_get_win (BONOBO_UI_CONTAINER (object)); + + if (win) + bonobo_window_deregister_component_by_ref ( + win, cobject); +} + EShellView * e_shell_view_construct (EShellView *shell_view, @@ -845,6 +859,8 @@ e_shell_view_construct (EShellView *shell_view, container = bonobo_ui_container_new (); bonobo_ui_container_set_win (container, BONOBO_WINDOW (shell_view)); + gtk_signal_connect (GTK_OBJECT (container), "system_exception", + (GtkSignalFunc) unmerge_on_error, NULL); priv->ui_component = bonobo_ui_component_new ("evolution"); bonobo_ui_component_set_container (priv->ui_component, -- cgit v1.2.3