diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2002-11-15 07:08:29 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2002-11-15 07:08:29 +0800 |
commit | 334b42bda165b9cfd18f60f60742f850f9154c2e (patch) | |
tree | a053bcb55aba50c9034752bccac043f4272c29e7 | |
parent | a68ff6bc2f3070cc852456c18d9edfecb31b183c (diff) | |
download | gsoc2013-evolution-334b42bda165b9cfd18f60f60742f850f9154c2e.tar.gz gsoc2013-evolution-334b42bda165b9cfd18f60f60742f850f9154c2e.tar.zst gsoc2013-evolution-334b42bda165b9cfd18f60f60742f850f9154c2e.zip |
Use bonobo_main_quit() instead of gtk_main_quit(). (shell_weak_notify):
* main.c (no_views_left_cb): Use bonobo_main_quit() instead of
gtk_main_quit().
(shell_weak_notify): Likewise.
(idle_cb): Likewise.
* e-shell.c (notify_no_views_left_idle_cb): New idle function to
emit the "no_views_left" signal.
(view_weak_notify): Put it on the idle loop instead of firing the
signal here.
* e-task-widget.c (e_task_widget_construct): Ref/sink the
GtkTooltips object.
svn path=/trunk/; revision=18763
-rw-r--r-- | shell/ChangeLog | 15 | ||||
-rw-r--r-- | shell/e-shell.c | 27 | ||||
-rw-r--r-- | shell/e-task-widget.c | 2 | ||||
-rw-r--r-- | shell/main.c | 10 |
4 files changed, 42 insertions, 12 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog index 202e97a286..adc31f15a4 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,5 +1,20 @@ 2002-11-14 Ettore Perazzoli <ettore@ximian.com> + * main.c (no_views_left_cb): Use bonobo_main_quit() instead of + gtk_main_quit(). + (shell_weak_notify): Likewise. + (idle_cb): Likewise. + + * e-shell.c (notify_no_views_left_idle_cb): New idle function to + emit the "no_views_left" signal. + (view_weak_notify): Put it on the idle loop instead of firing the + signal here. + + * e-task-widget.c (e_task_widget_construct): Ref/sink the + GtkTooltips object. + +2002-11-14 Ettore Perazzoli <ettore@ximian.com> + * e-shell.c (save_settings_for_views): Removed. (e_shell_save_settings): Do not call it here. diff --git a/shell/e-shell.c b/shell/e-shell.c index 4acc386ae0..a02cc1e89b 100644 --- a/shell/e-shell.c +++ b/shell/e-shell.c @@ -956,6 +956,24 @@ view_delete_event_cb (GtkWidget *widget, return ! e_shell_request_close_view (shell, E_SHELL_VIEW (widget)); } +static gboolean +notify_no_views_left_idle_cb (void *data) +{ + EShell *shell; + + puts (__FUNCTION__); + + shell = E_SHELL (data); + + set_interactive (shell, FALSE); + + bonobo_object_ref (BONOBO_OBJECT (shell)); + g_signal_emit (shell, signals [NO_VIEWS_LEFT], 0); + bonobo_object_unref (BONOBO_OBJECT (shell)); + + return FALSE; +} + static void view_weak_notify (void *data, GObject *where_the_object_was) @@ -975,13 +993,8 @@ view_weak_notify (void *data, shell->priv->views = g_list_remove (shell->priv->views, where_the_object_was); - if (shell->priv->views == NULL) { - set_interactive (shell, FALSE); - - bonobo_object_ref (BONOBO_OBJECT (shell)); - g_signal_emit (shell, signals [NO_VIEWS_LEFT], 0); - bonobo_object_unref (BONOBO_OBJECT (shell)); - } + if (shell->priv->views == NULL) + g_idle_add (notify_no_views_left_idle_cb, shell); } static EShellView * diff --git a/shell/e-task-widget.c b/shell/e-task-widget.c index cdbeb987e1..9adf84fe4b 100644 --- a/shell/e-task-widget.c +++ b/shell/e-task-widget.c @@ -170,6 +170,8 @@ e_task_widget_construct (ETaskWidget *task_widget, gdk_bitmap_unref (mask); priv->tooltips = gtk_tooltips_new (); + g_object_ref (priv->tooltips); + gtk_object_sink (GTK_OBJECT (priv->tooltips)); e_task_widget_update (task_widget, information, -1.0); } diff --git a/shell/main.c b/shell/main.c index 36a5648763..0e09e8338f 100644 --- a/shell/main.c +++ b/shell/main.c @@ -170,14 +170,14 @@ no_views_left_cb (EShell *shell, gpointer data) if (quit_box != NULL) gtk_widget_destroy (quit_box); - gtk_main_quit (); + bonobo_main_quit (); } static void shell_weak_notify (void *data, GObject *where_the_object_was) { - gtk_main_quit (); + bonobo_main_quit (); } @@ -376,7 +376,7 @@ idle_cb (void *data) e_notice (NULL, GNOME_MESSAGE_BOX_ERROR, _("Cannot access the Ximian Evolution shell.")); CORBA_exception_free (&ev); - gtk_main_quit (); + bonobo_main_quit (); return FALSE; } break; @@ -386,7 +386,7 @@ idle_cb (void *data) _("Cannot initialize the Ximian Evolution shell: %s"), e_shell_construct_result_to_string (result)); CORBA_exception_free (&ev); - gtk_main_quit (); + bonobo_main_quit (); return FALSE; } @@ -456,7 +456,7 @@ idle_cb (void *data) CORBA_exception_free (&ev); if (shell == NULL) - gtk_main_quit (); + bonobo_main_quit (); return FALSE; } |