fix hangs
authorColin Leroy <colin@colino.net>
Sat, 9 Nov 2002 23:26:27 +0000 (23:26 +0000)
committerColin Leroy <colin@colino.net>
Sat, 9 Nov 2002 23:26:27 +0000 (23:26 +0000)
ChangeLog.claws
configure.in
src/folderview.c

index d36b399754dfe0323116361f86649bb6596a5d22..14a277c084497dc40dc82904d340750f70225a53 100644 (file)
@@ -1,4 +1,10 @@
-2002-11-09 [christoph} 0.8.5claws111
+2002-11-09 [colin]     0.8.5claws112
+
+       * src/folderview.c
+               Fix hangs after folder dnd, happening after 
+               claws109.
+
+2002-11-09 [christoph] 0.8.5claws111
 
        * src/folderview.c
                just changed order of calls (reverse order of
index de08767603356f65e32b338cd22b78ea67deba52..2edf0a178eac9856119f5df0ca957332a49e0335 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=8
 MICRO_VERSION=5
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=claws111
+EXTRA_VERSION=claws112
 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
 
 dnl set $target
index 52df8ee4fad9530e1a5689cf73d77f4c8bd1f310..0af73d551577ade661befcea2f8eea4ee0054e4c 100644 (file)
@@ -2645,10 +2645,14 @@ static void folderview_drag_received_cb(GtkWidget        *widget,
                buf = g_strdup_printf(_("Moving %s to %s..."), src_item->name, item->name);
                STATUSBAR_PUSH(folderview->mainwin, buf);
                g_free(buf);
-               main_window_cursor_wait(folderview->mainwin);
+               summary_clear_all(folderview->summaryview);
+               folderview->opened = NULL;
+               folderview->selected = NULL;
                gtk_widget_set_sensitive(folderview->ctree, FALSE);
                inc_lock();
+               main_window_cursor_wait(folderview->mainwin);
                if ((new_item = folder_item_move_to(src_item, item)) != NULL) {
+                       main_window_cursor_normal(folderview->mainwin);
                        gtk_drag_finish(drag_context, TRUE, TRUE, time);
                
                        if (src_node)
@@ -2658,20 +2662,16 @@ static void folderview_drag_received_cb(GtkWidget        *widget,
 
                        folderview_create_folder_node_recursive(folderview, new_item);
                        folder_update_item(src_parent, TRUE);
-                       folder_update_item_recursive(new_item, TRUE);
+                       folder_update_item_recursive(new_item, TRUE); 
                        folderview_sort_folders(folderview, 
                                gtk_ctree_find_by_row_data(GTK_CTREE(widget), 
                                        NULL, new_item->parent), new_item->folder);
-                       STATUSBAR_PUSH(folderview->mainwin, _("Done."));
-                       main_window_cursor_normal(folderview->mainwin);
-                       summary_clear_all(folderview->summaryview);
-                       folderview->opened = NULL;
-                       folderview->selected = NULL;
+                       statusbar_pop_all();
                        folderview_select(folderview, new_item);
                } else {
-                       gtk_drag_finish(drag_context, FALSE, FALSE, time);
-                       STATUSBAR_PUSH(folderview->mainwin, _("Done."));
                        main_window_cursor_normal(folderview->mainwin);
+                       gtk_drag_finish(drag_context, FALSE, FALSE, time);
+                       statusbar_pop_all();
                }       
                inc_unlock();           
                gtk_widget_set_sensitive(folderview->ctree, TRUE);