Index: src/seahorse-key-manager.c
===================================================================
--- src/seahorse-key-manager.c	(revision 2654)
+++ src/seahorse-key-manager.c	(working copy)
@@ -1255,7 +1255,7 @@
 		gtk_drag_dest_set_target_list (GTK_WIDGET (seahorse_viewer_get_window (SEAHORSE_VIEWER (self))), targets);
 		g_signal_connect_object (GTK_WIDGET (seahorse_viewer_get_window (SEAHORSE_VIEWER (self))), "drag-data-received", ((GCallback) (_seahorse_key_manager_on_target_drag_data_received_gtk_widget_drag_data_received)), self, 0);
 		/* To show first time dialog */
-		g_timeout_add (((guint) (1000)), _seahorse_key_manager_on_first_timer_gsource_func, self);
+		g_timeout_add_seconds (((guint) (1)), _seahorse_key_manager_on_first_timer_gsource_func, self);
 		g_signal_emit_by_name (G_OBJECT (SEAHORSE_VIEW (self)), "selection-changed");
 		(actions == NULL ? NULL : (actions = (g_object_unref (actions), NULL)));
 		(action == NULL ? NULL : (action = (g_object_unref (action), NULL)));
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 2654)
+++ ChangeLog	(working copy)
@@ -1,3 +1,11 @@
+2008-12-14  Debarshi Ray  <rishi@gnu.org>
+
+    * src/seahorse-key-manager.c:
+    * libseahorse/seahorse-transfer-operation.c:
+    * libseahorse/seahorse-progress.c: Use g_timeout_add_seconds instead of
+    g_timeout_add where possible to allow for event grouping. Fixes bug
+    #564403.
+	
 2008-12-12  Adam Schreiber  <sadam@clemson.edu>
     
     * pkcs11/seahorse-pkcs11-source.c
Index: libseahorse/seahorse-transfer-operation.c
===================================================================
--- libseahorse/seahorse-transfer-operation.c	(revision 2654)
+++ libseahorse/seahorse-transfer-operation.c	(working copy)
@@ -387,7 +387,7 @@
     seahorse_operation_mark_progress (SEAHORSE_OPERATION (top), message, 0.0);
     
     /* We delay and continue from a callback */
-    g_timeout_add (0, (GSourceFunc)start_transfer, top);
+    g_timeout_add_seconds (0, (GSourceFunc)start_transfer, top);
     
     return SEAHORSE_OPERATION (top);
 }
Index: libseahorse/seahorse-progress.c
===================================================================
--- libseahorse/seahorse-progress.c	(revision 2654)
+++ libseahorse/seahorse-progress.c	(working copy)
@@ -322,7 +322,7 @@
     
     /* Show the progress, after one second */
     if (delayed)
-        g_timeout_add (1000, (GSourceFunc)progress_show, operation);
+        g_timeout_add_seconds (1, (GSourceFunc)progress_show, operation);
     
     /* Right away */
     else
