diff options
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ChangeLog | 11 | ||||
-rw-r--r-- | shell/e-activity-handler.c | 14 | ||||
-rw-r--r-- | shell/e-activity-handler.h | 4 | ||||
-rw-r--r-- | shell/e-shell-window.c | 5 |
4 files changed, 26 insertions, 8 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog index eb3ed5cd68..0b4da8cd75 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,5 +1,16 @@ 2003-12-01 Ettore Perazzoli <ettore@ximian.com> + * e-activity-handler.c (e_activity_handler_operation_finished): + Argh, renamed from e_activity_client_operation_finished(). + (e_activity_handler_operation_started): Don't unref the pixbuf. + + * e-shell-window.c (setup_widgets): Hide the menu hint label. + + * e-activity-handler.c (init): Init to next_activity_id to 1 so + callers can rely on it being nonzero. + +2003-12-01 Ettore Perazzoli <ettore@ximian.com> + * e-shell.c (struct _EShellPrivate): Remove member activity_handler. (setup_activity_interface): Remove. diff --git a/shell/e-activity-handler.c b/shell/e-activity-handler.c index 695b7f6606..cdc41d8025 100644 --- a/shell/e-activity-handler.c +++ b/shell/e-activity-handler.c @@ -145,6 +145,8 @@ activity_info_new (const char *component_id, static void activity_info_free (ActivityInfo *info) { + g_print ("activity_info_free %d ref count %d\n", info->id, G_OBJECT (info->icon_pixbuf)->ref_count); + g_free (info->component_id); g_object_unref (info->icon_pixbuf); @@ -267,7 +269,7 @@ init (EActivityHandler *activity_handler) EActivityHandlerPrivate *priv; priv = g_new (EActivityHandlerPrivate, 1); - priv->next_activity_id = 0; + priv->next_activity_id = 1; priv->activity_infos = NULL; priv->task_bars = NULL; @@ -327,8 +329,6 @@ e_activity_handler_operation_started (EActivityHandler *activity_handler, task_widget_new_from_activity_info (activity_info)); } - g_object_unref (icon_pixbuf); - priv->activity_infos = g_list_prepend (priv->activity_infos, activity_info); return activity_id; @@ -371,8 +371,8 @@ e_activity_handler_operation_progressing (EActivityHandler *activity_handler, } void -e_activity_client_operation_finished (EActivityHandler *activity_handler, - guint activity_id) +e_activity_handler_operation_finished (EActivityHandler *activity_handler, + guint activity_id) { EActivityHandlerPrivate *priv = activity_handler->priv; GList *p; @@ -380,6 +380,10 @@ e_activity_client_operation_finished (EActivityHandler *activity_handler, int order_number; p = lookup_activity (priv->activity_infos, activity_id, &order_number); + if (p == NULL) { + g_warning ("e_activity_handler_operation_finished: Unknown activity %d\n", activity_id); + return; + } activity_info_free ((ActivityInfo *) p->data); priv->activity_infos = g_list_remove_link (priv->activity_infos, p); diff --git a/shell/e-activity-handler.h b/shell/e-activity-handler.h index 6a315fae21..46826c8eb3 100644 --- a/shell/e-activity-handler.h +++ b/shell/e-activity-handler.h @@ -74,8 +74,8 @@ void e_activity_handler_operation_progressing (EActivityHandler *activity_hand const char *information, double progress); -void e_activity_client_operation_finished (EActivityHandler *activity_handler, - guint activity_id); +void e_activity_handler_operation_finished (EActivityHandler *activity_handler, + guint activity_id); #ifdef __cplusplus diff --git a/shell/e-shell-window.c b/shell/e-shell-window.c index e11908902f..fb123561a7 100644 --- a/shell/e-shell-window.c +++ b/shell/e-shell-window.c @@ -534,7 +534,7 @@ setup_status_bar (EShellWindow *window) setup_statusbar_notebook (window); ui_engine = bonobo_window_get_ui_engine (BONOBO_WINDOW (window)); - + g_signal_connect (ui_engine, "add_hint", G_CALLBACK (ui_engine_add_hint_callback), window); g_signal_connect (ui_engine, "remove_hint", G_CALLBACK (ui_engine_remove_hint_callback), window); } @@ -586,6 +586,9 @@ setup_widgets (EShellWindow *window) gtk_box_pack_start (GTK_BOX (contents_vbox), priv->status_bar, FALSE, TRUE, 0); gtk_widget_show_all (contents_vbox); + /* We only display this when a menu item is actually selected. */ + gtk_widget_hide (priv->menu_hint_label); + bonobo_window_set_contents (BONOBO_WINDOW (window), contents_vbox); } |