2007-08-31 [colin] 2.10.0cvs187
[claws.git] / src / folderview.c
index ec9a934a8b87fa69d25bac8df54116260b8d3ca0..bc000b1c7d458a43aec1722ce86c579c97e95653 100644 (file)
@@ -1130,6 +1130,7 @@ void folderview_rescan_tree(Folder *folder, gboolean rebuild)
                pos = gtk_scrolled_window_get_vadjustment(
                                        GTK_SCROLLED_WINDOW(folderview->scrolledwin));
                gtk_adjustment_set_value(pos, height);
+               gtk_adjustment_changed(pos);
        }
        label_window_destroy(window);
        inc_unlock();
@@ -1170,6 +1171,7 @@ void folderview_fast_rescan_tree(Folder *folder)
                pos = gtk_scrolled_window_get_vadjustment(
                                        GTK_SCROLLED_WINDOW(folderview->scrolledwin));
                gtk_adjustment_set_value(pos, height);
+               gtk_adjustment_changed(pos);
        }
        label_window_destroy(window);
        inc_unlock();
@@ -2710,6 +2712,7 @@ void folderview_reflect_prefs(void)
        pos = gtk_scrolled_window_get_vadjustment(
                                GTK_SCROLLED_WINDOW(folderview->scrolledwin));
        gtk_adjustment_set_value(pos, height);
+       gtk_adjustment_changed(pos);
        gtk_clist_thaw(GTK_CLIST(folderview->ctree));
 }
 
@@ -2855,11 +2858,14 @@ static gboolean folderview_drag_motion_cb(GtkWidget      *widget,
                (GTK_CLIST(widget), x - 24, y - 24, &row, &column)) {
                GtkWidget *srcwidget;
 
-               if (y > height - 24 && height + vpos < total_height)
+               if (y > height - 24 && height + vpos < total_height) {
                        gtk_adjustment_set_value(pos, (vpos+5 > height ? height : vpos+5));
-
-               if (y < 48 && y > 0)
+                       gtk_adjustment_changed(pos);
+               }
+               if (y < 48 && y > 0) {
                        gtk_adjustment_set_value(pos, (vpos-5 < 0 ? 0 : vpos-5));
+                       gtk_adjustment_changed(pos);
+               }
 
                node = gtk_ctree_node_nth(GTK_CTREE(widget), row);
                item = gtk_ctree_node_get_row_data(GTK_CTREE(widget), node);