From 69f9760299f2b20591f9027d07e12ae10844a97d Mon Sep 17 00:00:00 2001 From: Josselin Mouette Date: Thu, 10 Jul 2008 17:56:56 +0000 Subject: [PATCH] * 033_treeview_resizing.patch: + Enable again, it was disabled by mistake. + Update to new version provided by Kristian Rietveld. Closes: #471073. --- debian/changelog | 9 ++ debian/patches/033_treeview_resizing.patch | 131 ++++++++++-------- .../patches/042_treeview_single-focus.patch | 8 +- debian/patches/series | 2 +- 4 files changed, 87 insertions(+), 63 deletions(-) diff --git a/debian/changelog b/debian/changelog index 4c731e215b..03dd9cd3e9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +gtk+2.0 (2.12.11-2) UNRELEASED; urgency=low + + * 033_treeview_resizing.patch: + + Enable again, it was disabled by mistake. + + Update to new version provided by Kristian Rietveld. + Closes: #471073. + + -- Josselin Mouette Thu, 10 Jul 2008 19:01:29 +0200 + gtk+2.0 (2.12.11-1) unstable; urgency=low [ Emilio Pozuelo Monfort ] diff --git a/debian/patches/033_treeview_resizing.patch b/debian/patches/033_treeview_resizing.patch index 673ab06180..ceedcdb729 100644 --- a/debian/patches/033_treeview_resizing.patch +++ b/debian/patches/033_treeview_resizing.patch @@ -1,14 +1,31 @@ ---- a/gtk/gtktreeview.c 2008-04-01 11:10:40.000000000 +0200 -+++ b/gtk/gtktreeview.c 2008-04-01 11:11:21.000000000 +0200 -@@ -2163,19 +2163,21 @@ +Index: gtk+-2.12.11/gtk/gtktreeview.c +=================================================================== +--- gtk+-2.12.11.orig/gtk/gtktreeview.c 2008-07-01 15:42:39.000000000 +0200 ++++ gtk+-2.12.11/gtk/gtktreeview.c 2008-07-10 19:00:15.873743659 +0200 +@@ -1364,6 +1364,8 @@ gtk_tree_view_init (GtkTreeView *tree_vi + tree_view->priv->tree_lines_enabled = FALSE; + + tree_view->priv->tooltip_column = -1; ++ ++ tree_view->priv->post_validation_flag = FALSE; } + +@@ -1998,6 +2000,7 @@ gtk_tree_view_update_size (GtkTreeView * + + tree_view->priv->prev_width = tree_view->priv->width; + tree_view->priv->width = 0; ++ + /* keep this in sync with size_allocate below */ + for (list = tree_view->priv->columns, i = 0; list; list = list->next, i++) + { +@@ -2164,18 +2167,20 @@ gtk_tree_view_get_real_requested_width_f + /* GtkWidget::size_allocate helper */ --static void + static void -gtk_tree_view_size_allocate_columns (GtkWidget *widget) -+static gboolean +gtk_tree_view_size_allocate_columns (GtkWidget *widget, -+ gboolean width_changed) ++ gboolean *width_changed) { GtkTreeView *tree_view; GList *list, *first_column, *last_column; @@ -25,27 +42,22 @@ tree_view = GTK_TREE_VIEW (widget); -@@ -2184,7 +2186,7 @@ - last_column = last_column->prev) - ; - if (last_column == NULL) -- return; -+ return width_changed; - - for (first_column = g_list_first (tree_view->priv->columns); - first_column && !(GTK_TREE_VIEW_COLUMN (first_column->data)->visible); -@@ -2210,12 +2212,38 @@ +@@ -2210,12 +2215,42 @@ gtk_tree_view_size_allocate_columns (Gtk number_of_expand_columns++; } - extra = MAX (widget->allocation.width - full_requested_width, 0); -+ /* Only update the expand value if the width of the widget changed, -+ * the number of expand columns are if there are no expand -+ * columns. ++ /* Only update the expand value if the width of the widget has changed, ++ * or the number of expand columns has changed, or if there are no expand ++ * columns, or if we didn't have an size-allocation yet after the ++ * last validated node. + */ -+ update_expand = width_changed || -+ number_of_expand_columns != tree_view->priv->last_number_of_expand_columns || -+ number_of_expand_columns == 0; ++ update_expand = (width_changed && *width_changed == TRUE) ++ || number_of_expand_columns != tree_view->priv->last_number_of_expand_columns ++ || number_of_expand_columns == 0 ++ || tree_view->priv->post_validation_flag == TRUE; ++ ++ tree_view->priv->post_validation_flag = FALSE; + + if (!update_expand) + { @@ -74,7 +86,7 @@ for (list = (rtl ? last_column : first_column); list != (rtl ? first_column->prev : last_column->next); list = (rtl ? list->prev : list->next)) -@@ -2271,6 +2299,12 @@ +@@ -2271,6 +2306,12 @@ gtk_tree_view_size_allocate_columns (Gtk column->width += extra; } @@ -87,7 +99,7 @@ g_object_notify (G_OBJECT (column), "width"); allocation.width = column->width; -@@ -2288,8 +2322,17 @@ +@@ -2288,6 +2329,14 @@ gtk_tree_view_size_allocate_columns (Gtk TREE_VIEW_DRAG_WIDTH, allocation.height); } @@ -97,40 +109,20 @@ + * doesn't have one, the tree view can't fit. + */ + tree_view->priv->width = width; ++ *width_changed = TRUE; + if (column_changed) gtk_widget_queue_draw (GTK_WIDGET (tree_view)); -+ -+ return TRUE; } - - -@@ -2304,13 +2347,13 @@ - - g_return_if_fail (GTK_IS_TREE_VIEW (widget)); - -- if (allocation->width != widget->allocation.width) -- width_changed = TRUE; -- - widget->allocation = *allocation; - - tree_view = GTK_TREE_VIEW (widget); - -+ if (allocation->width != old_width || tree_view->priv->width != tree_view->priv->prev_width) -+ width_changed = TRUE; -+ - tmp_list = tree_view->priv->children; - - while (tmp_list) -@@ -2328,6 +2371,7 @@ +@@ -2328,6 +2377,7 @@ gtk_tree_view_size_allocate (GtkWidget gtk_widget_size_allocate (child->widget, &allocation); } -+ width_changed = gtk_tree_view_size_allocate_columns (widget, width_changed); ++ gtk_tree_view_size_allocate_columns (widget, &width_changed); tree_view->priv->hadjustment->page_size = allocation->width; tree_view->priv->hadjustment->page_increment = allocation->width * 0.9; -@@ -2336,28 +2380,30 @@ +@@ -2336,28 +2386,30 @@ gtk_tree_view_size_allocate (GtkWidget tree_view->priv->hadjustment->upper = MAX (tree_view->priv->hadjustment->page_size, tree_view->priv->width); if (gtk_widget_get_direction(widget) == GTK_TEXT_DIR_RTL) @@ -181,7 +173,7 @@ gtk_adjustment_changed (tree_view->priv->hadjustment); -@@ -2397,8 +2443,6 @@ +@@ -2397,8 +2449,6 @@ gtk_tree_view_size_allocate (GtkWidget allocation->height - TREE_VIEW_HEADER_HEIGHT (tree_view)); } @@ -190,7 +182,7 @@ if (tree_view->priv->tree == NULL) invalidate_empty_focus (tree_view); -@@ -2842,7 +2886,7 @@ +@@ -2842,7 +2892,7 @@ gtk_tree_view_button_press (GtkWidget gtk_grab_add (widget); GTK_TREE_VIEW_SET_FLAG (tree_view, GTK_TREE_VIEW_IN_COLUMN_RESIZE); @@ -199,7 +191,7 @@ /* block attached dnd signal handler */ drag_data = g_object_get_data (G_OBJECT (widget), "gtk-site-data"); -@@ -3554,6 +3598,8 @@ +@@ -3554,6 +3604,8 @@ gtk_tree_view_motion_resize_column (GtkW { column->use_resized_width = TRUE; column->resized_width = new_width; @@ -208,18 +200,28 @@ gtk_widget_queue_resize (widget); } -@@ -11511,7 +11557,7 @@ +@@ -5661,6 +5713,7 @@ validate_row (GtkTreeView *tree_view, + _gtk_rbtree_node_set_height (tree, node, height); + } + _gtk_rbtree_node_mark_valid (tree, node); ++ tree_view->priv->post_validation_flag = TRUE; + + return retval; + } +@@ -11516,7 +11569,7 @@ gtk_tree_view_move_column_after (GtkTree if (GTK_WIDGET_REALIZED (tree_view)) { gtk_widget_queue_resize (GTK_WIDGET (tree_view)); - gtk_tree_view_size_allocate_columns (GTK_WIDGET (tree_view)); -+ gtk_tree_view_size_allocate_columns (GTK_WIDGET (tree_view), FALSE); ++ gtk_tree_view_size_allocate_columns (GTK_WIDGET (tree_view), NULL); } g_signal_emit (tree_view, tree_view_signals[COLUMNS_CHANGED], 0); ---- a/gtk/gtktreeviewcolumn.c 2008-04-01 11:10:40.000000000 +0200 -+++ b/gtk/gtktreeviewcolumn.c 2008-04-01 11:11:21.000000000 +0200 -@@ -2142,6 +2142,7 @@ +Index: gtk+-2.12.11/gtk/gtktreeviewcolumn.c +=================================================================== +--- gtk+-2.12.11.orig/gtk/gtktreeviewcolumn.c 2008-07-01 15:42:39.000000000 +0200 ++++ gtk+-2.12.11/gtk/gtktreeviewcolumn.c 2008-07-10 19:00:15.873743659 +0200 +@@ -2141,6 +2141,7 @@ gtk_tree_view_column_set_expand (GtkTree tree_column->tree_view != NULL && GTK_WIDGET_REALIZED (tree_column->tree_view)) { @@ -227,9 +229,20 @@ gtk_widget_queue_resize (tree_column->tree_view); } ---- a/gtk/gtktreeprivate.h 2008-04-01 11:10:40.000000000 +0200 -+++ b/gtk/gtktreeprivate.h 2008-04-01 11:11:21.000000000 +0200 -@@ -268,6 +268,10 @@ +Index: gtk+-2.12.11/gtk/gtktreeprivate.h +=================================================================== +--- gtk+-2.12.11.orig/gtk/gtktreeprivate.h 2008-07-01 15:42:40.000000000 +0200 ++++ gtk+-2.12.11/gtk/gtktreeprivate.h 2008-07-10 19:00:15.877745215 +0200 +@@ -236,6 +236,8 @@ struct _GtkTreeViewPrivate + + guint in_grab : 1; + ++ guint post_validation_flag : 1; ++ + + /* Auto expand/collapse timeout in hover mode */ + guint auto_expand_timeout; +@@ -268,6 +270,10 @@ struct _GtkTreeViewPrivate GdkGC *tree_line_gc; gint tooltip_column; diff --git a/debian/patches/042_treeview_single-focus.patch b/debian/patches/042_treeview_single-focus.patch index 8e44b73012..e8da377bb5 100644 --- a/debian/patches/042_treeview_single-focus.patch +++ b/debian/patches/042_treeview_single-focus.patch @@ -1,6 +1,8 @@ ---- a/gtk/gtktreeview.c 2008-04-01 11:11:21.000000000 +0200 -+++ b/gtk/gtktreeview.c 2008-04-01 11:11:32.000000000 +0200 -@@ -9669,7 +9669,8 @@ +Index: gtk+-2.12.11/gtk/gtktreeview.c +=================================================================== +--- gtk+-2.12.11.orig/gtk/gtktreeview.c 2008-07-10 19:00:15.873743659 +0200 ++++ gtk+-2.12.11/gtk/gtktreeview.c 2008-07-10 19:00:29.729244218 +0200 +@@ -9679,7 +9679,8 @@ gtk_tree_view_focus_to_cursor (GtkTreeVi if (cursor_path) { diff --git a/debian/patches/series b/debian/patches/series index 88deebb951..ae4827d4bd 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -13,7 +13,7 @@ 021_loader-files-d.patch 022_module-files-append-compat-module-files-d.patch 030_gtkentry_password-char-circle.patch -#033_treeview_resizing.patch +033_treeview_resizing.patch 041_ia32-libs.patch 042_treeview_single-focus.patch 060_ignore-random-icons.patch