]> Pileus Git - ~andy/gtk/commitdiff
Update offsets before finding where to insert the new value.
authorDarin Adler <darin@src.gnome.org>
Thu, 7 Mar 2002 06:04:03 +0000 (06:04 +0000)
committerDarin Adler <darin@src.gnome.org>
Thu, 7 Mar 2002 06:04:03 +0000 (06:04 +0000)
* gtk/gtktreemodelsort.c: (gtk_tree_model_sort_insert_value):
Update offsets before finding where to insert the new value.

* gtk/gtktreeview.c: (validate_visible_area): Make sure we redraw when
we scroll, instead of just updating the scroll position variables.

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtktreemodelsort.c
gtk/gtktreeview.c

index 775cd96ad2f850951bdf8169532fc242ce32f47f..2f67c70e5ee1af53d54693373ef1c1a7c8123e46 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2002-03-06  Darin Adler  <darin@bentspoon.com>
+
+       * gtk/gtktreemodelsort.c: (gtk_tree_model_sort_insert_value):
+       Update offsets before finding where to insert the new value.
+
+       * gtk/gtktreeview.c: (validate_visible_area): Make sure we redraw when
+       we scroll, instead of just updating the scroll position variables.
+
 2002-03-06  Manish Singh  <yosh@gimp.org>
 
        * gdk/Makefile.am
index 775cd96ad2f850951bdf8169532fc242ce32f47f..2f67c70e5ee1af53d54693373ef1c1a7c8123e46 100644 (file)
@@ -1,3 +1,11 @@
+2002-03-06  Darin Adler  <darin@bentspoon.com>
+
+       * gtk/gtktreemodelsort.c: (gtk_tree_model_sort_insert_value):
+       Update offsets before finding where to insert the new value.
+
+       * gtk/gtktreeview.c: (validate_visible_area): Make sure we redraw when
+       we scroll, instead of just updating the scroll position variables.
+
 2002-03-06  Manish Singh  <yosh@gimp.org>
 
        * gdk/Makefile.am
index 775cd96ad2f850951bdf8169532fc242ce32f47f..2f67c70e5ee1af53d54693373ef1c1a7c8123e46 100644 (file)
@@ -1,3 +1,11 @@
+2002-03-06  Darin Adler  <darin@bentspoon.com>
+
+       * gtk/gtktreemodelsort.c: (gtk_tree_model_sort_insert_value):
+       Update offsets before finding where to insert the new value.
+
+       * gtk/gtktreeview.c: (validate_visible_area): Make sure we redraw when
+       we scroll, instead of just updating the scroll position variables.
+
 2002-03-06  Manish Singh  <yosh@gimp.org>
 
        * gdk/Makefile.am
index 775cd96ad2f850951bdf8169532fc242ce32f47f..2f67c70e5ee1af53d54693373ef1c1a7c8123e46 100644 (file)
@@ -1,3 +1,11 @@
+2002-03-06  Darin Adler  <darin@bentspoon.com>
+
+       * gtk/gtktreemodelsort.c: (gtk_tree_model_sort_insert_value):
+       Update offsets before finding where to insert the new value.
+
+       * gtk/gtktreeview.c: (validate_visible_area): Make sure we redraw when
+       we scroll, instead of just updating the scroll position variables.
+
 2002-03-06  Manish Singh  <yosh@gimp.org>
 
        * gdk/Makefile.am
index 775cd96ad2f850951bdf8169532fc242ce32f47f..2f67c70e5ee1af53d54693373ef1c1a7c8123e46 100644 (file)
@@ -1,3 +1,11 @@
+2002-03-06  Darin Adler  <darin@bentspoon.com>
+
+       * gtk/gtktreemodelsort.c: (gtk_tree_model_sort_insert_value):
+       Update offsets before finding where to insert the new value.
+
+       * gtk/gtktreeview.c: (validate_visible_area): Make sure we redraw when
+       we scroll, instead of just updating the scroll position variables.
+
 2002-03-06  Manish Singh  <yosh@gimp.org>
 
        * gdk/Makefile.am
index 775cd96ad2f850951bdf8169532fc242ce32f47f..2f67c70e5ee1af53d54693373ef1c1a7c8123e46 100644 (file)
@@ -1,3 +1,11 @@
+2002-03-06  Darin Adler  <darin@bentspoon.com>
+
+       * gtk/gtktreemodelsort.c: (gtk_tree_model_sort_insert_value):
+       Update offsets before finding where to insert the new value.
+
+       * gtk/gtktreeview.c: (validate_visible_area): Make sure we redraw when
+       we scroll, instead of just updating the scroll position variables.
+
 2002-03-06  Manish Singh  <yosh@gimp.org>
 
        * gdk/Makefile.am
index 775cd96ad2f850951bdf8169532fc242ce32f47f..2f67c70e5ee1af53d54693373ef1c1a7c8123e46 100644 (file)
@@ -1,3 +1,11 @@
+2002-03-06  Darin Adler  <darin@bentspoon.com>
+
+       * gtk/gtktreemodelsort.c: (gtk_tree_model_sort_insert_value):
+       Update offsets before finding where to insert the new value.
+
+       * gtk/gtktreeview.c: (validate_visible_area): Make sure we redraw when
+       we scroll, instead of just updating the scroll position variables.
+
 2002-03-06  Manish Singh  <yosh@gimp.org>
 
        * gdk/Makefile.am
index e2cbe2f96e6ab1211556995d0a5469b1aa20e134..2823cf279b53ecabfaf664118e96d5c3f9c68060 100644 (file)
@@ -1663,6 +1663,12 @@ gtk_tree_model_sort_insert_value (GtkTreeModelSort *tree_model_sort,
   elt.ref_count = 0;
   elt.children = NULL;
 
+  /* update all larger offsets */
+  tmp_elt = SORT_ELT (level->array->data);
+  for (i = 0; i < level->array->len; i++, tmp_elt++)
+    if (tmp_elt->offset >= offset)
+      tmp_elt->offset++;
+
   if (tree_model_sort->sort_column_id == GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID &&
       tree_model_sort->default_sort_func == NO_SORT_FUNC)
     index = offset;
@@ -1672,16 +1678,10 @@ gtk_tree_model_sort_insert_value (GtkTreeModelSort *tree_model_sort,
                                                    FALSE);
 
   g_array_insert_vals (level->array, index, &elt, 1);
-
-  /* update all larger offsets */
   tmp_elt = SORT_ELT (level->array->data);
   for (i = 0; i < level->array->len; i++, tmp_elt++)
-    {
-      if ((tmp_elt->offset >= offset) && i != index)
-       tmp_elt->offset++;
-      if (tmp_elt->children)
-       tmp_elt->children->parent_elt = tmp_elt;
-    }
+    if (tmp_elt->children)
+      tmp_elt->children->parent_elt = tmp_elt;
 
   return TRUE;
 }
index 23dccf5a3c62fc98675b985f7e59125fce38c63d..0863568c9b309329fb7be2fa82b0cc7d000d9248 100644 (file)
@@ -3652,7 +3652,7 @@ validate_visible_area (GtkTreeView *tree_view)
   GtkTreeIter iter;
   GtkRBTree *tree = NULL;
   GtkRBNode *node = NULL;
-  gboolean validated_area = FALSE;
+  gboolean need_redraw = FALSE;
   gboolean size_changed = FALSE;
   gboolean modify_dy = FALSE;
   gint total_height;
@@ -3675,7 +3675,7 @@ validate_visible_area (GtkTreeView *tree_view)
          if (GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_INVALID) ||
              GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_COLUMN_INVALID))
            {
-             validated_area = TRUE;
+             need_redraw = TRUE;
              if (validate_row (tree_view, tree, node, &iter, path))
                size_changed = TRUE;
            }
@@ -3736,7 +3736,7 @@ validate_visible_area (GtkTreeView *tree_view)
       if (GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_INVALID) ||
          GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_COLUMN_INVALID))
        {
-         validated_area = TRUE;
+         need_redraw = TRUE;
          if (validate_row (tree_view, tree, node, &iter, path))
            size_changed = TRUE;
        }
@@ -3809,7 +3809,7 @@ validate_visible_area (GtkTreeView *tree_view)
       if (GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_INVALID) ||
          GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_COLUMN_INVALID))
        {
-         validated_area = TRUE;
+         need_redraw = TRUE;
          if (validate_row (tree_view, tree, node, &iter, path))
            size_changed = TRUE;
        }
@@ -3838,7 +3838,7 @@ validate_visible_area (GtkTreeView *tree_view)
       if (GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_INVALID) ||
          GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_COLUMN_INVALID))
        {
-         validated_area = TRUE;
+         need_redraw = TRUE;
          if (validate_row (tree_view, tree, node, &iter, above_path))
            size_changed = TRUE;
        }
@@ -3860,6 +3860,7 @@ validate_visible_area (GtkTreeView *tree_view)
       tree_view->priv->top_row =
        gtk_tree_row_reference_new_proxy (G_OBJECT (tree_view), tree_view->priv->model, above_path);
       tree_view->priv->top_row_dy = - area_above;
+      need_redraw = TRUE;
     }
   else
     {
@@ -3881,7 +3882,7 @@ validate_visible_area (GtkTreeView *tree_view)
     }
   if (size_changed)
     gtk_widget_queue_resize (GTK_WIDGET (tree_view));
-  if (validated_area)
+  if (need_redraw)
     gtk_widget_queue_draw (GTK_WIDGET (tree_view));
 }