From 73fbebb1b09499f16b07ae9db9c5970b3bf9ca63 Mon Sep 17 00:00:00 2001 From: Srinivasa Ragavan Date: Tue, 23 Mar 2010 14:15:36 +0530 Subject: Close only the current window than the entire shell. --- modules/calendar/e-cal-shell-view-actions.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'modules/calendar') diff --git a/modules/calendar/e-cal-shell-view-actions.c b/modules/calendar/e-cal-shell-view-actions.c index b5609aa233..339faaa091 100644 --- a/modules/calendar/e-cal-shell-view-actions.c +++ b/modules/calendar/e-cal-shell-view-actions.c @@ -1202,13 +1202,18 @@ quit_calendar_cb (GtkAction *action, { EShellView *shell_view; EShellWindow *shell_window; - EShell *shell; + GdkEvent *event; shell_view = E_SHELL_VIEW (cal_shell_view); shell_window = e_shell_view_get_shell_window (shell_view); + + /* Synthesize a delete_event on this window. */ + event = gdk_event_new (GDK_DELETE); + event->any.window = g_object_ref (((GtkWidget *) shell_window)->window); + event->any.send_event = TRUE; + gtk_main_do_event (event); + gdk_event_free (event); - shell = e_shell_window_get_shell (shell_window); - e_shell_quit (shell); } static void -- cgit