summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog20
-rw-r--r--ChangeLog.pre-2-020
-rw-r--r--ChangeLog.pre-2-1020
-rw-r--r--ChangeLog.pre-2-220
-rw-r--r--ChangeLog.pre-2-420
-rw-r--r--ChangeLog.pre-2-620
-rw-r--r--ChangeLog.pre-2-820
-rw-r--r--gtk/gtktreedatalist.c6
-rw-r--r--gtk/gtktreeprivate.h1
-rw-r--r--gtk/gtktreeview.c18
-rw-r--r--gtk/gtktreeviewcolumn.c3
11 files changed, 156 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index f5769b8ea..57a8c41cc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+Mon Dec 3 21:15:59 2001 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreedatalist.c (_gtk_tree_data_list_value_to_node): if
+ we use pointers, we should free the previous pointer first (if
+ it exists), before we set a new pointer. (#64726)
+
+ * gtk/gtktreeprivate.h: get rid of cursor_drag
+
+ * gtk/gtktreeview.c (gtk_tree_view_unrealize): remove check
+ for cursor_drag
+ (gtk_tree_view_bin_expose): don't directly return in the while
+ loop
+ (gtk_tree_view_class_init): indentend expanders by default
+ (gtk_tree_view_header_focus): only give the button focus
+ if it's clickable, visible and the column is reorderable
+ (#65539)
+
+ * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
+ create and free cursor
+
Mon Dec 3 10:23:07 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcalendar.c (gtk_calendar_size_request): Fix
diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0
index f5769b8ea..57a8c41cc 100644
--- a/ChangeLog.pre-2-0
+++ b/ChangeLog.pre-2-0
@@ -1,3 +1,23 @@
+Mon Dec 3 21:15:59 2001 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreedatalist.c (_gtk_tree_data_list_value_to_node): if
+ we use pointers, we should free the previous pointer first (if
+ it exists), before we set a new pointer. (#64726)
+
+ * gtk/gtktreeprivate.h: get rid of cursor_drag
+
+ * gtk/gtktreeview.c (gtk_tree_view_unrealize): remove check
+ for cursor_drag
+ (gtk_tree_view_bin_expose): don't directly return in the while
+ loop
+ (gtk_tree_view_class_init): indentend expanders by default
+ (gtk_tree_view_header_focus): only give the button focus
+ if it's clickable, visible and the column is reorderable
+ (#65539)
+
+ * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
+ create and free cursor
+
Mon Dec 3 10:23:07 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcalendar.c (gtk_calendar_size_request): Fix
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index f5769b8ea..57a8c41cc 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,3 +1,23 @@
+Mon Dec 3 21:15:59 2001 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreedatalist.c (_gtk_tree_data_list_value_to_node): if
+ we use pointers, we should free the previous pointer first (if
+ it exists), before we set a new pointer. (#64726)
+
+ * gtk/gtktreeprivate.h: get rid of cursor_drag
+
+ * gtk/gtktreeview.c (gtk_tree_view_unrealize): remove check
+ for cursor_drag
+ (gtk_tree_view_bin_expose): don't directly return in the while
+ loop
+ (gtk_tree_view_class_init): indentend expanders by default
+ (gtk_tree_view_header_focus): only give the button focus
+ if it's clickable, visible and the column is reorderable
+ (#65539)
+
+ * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
+ create and free cursor
+
Mon Dec 3 10:23:07 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcalendar.c (gtk_calendar_size_request): Fix
diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2
index f5769b8ea..57a8c41cc 100644
--- a/ChangeLog.pre-2-2
+++ b/ChangeLog.pre-2-2
@@ -1,3 +1,23 @@
+Mon Dec 3 21:15:59 2001 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreedatalist.c (_gtk_tree_data_list_value_to_node): if
+ we use pointers, we should free the previous pointer first (if
+ it exists), before we set a new pointer. (#64726)
+
+ * gtk/gtktreeprivate.h: get rid of cursor_drag
+
+ * gtk/gtktreeview.c (gtk_tree_view_unrealize): remove check
+ for cursor_drag
+ (gtk_tree_view_bin_expose): don't directly return in the while
+ loop
+ (gtk_tree_view_class_init): indentend expanders by default
+ (gtk_tree_view_header_focus): only give the button focus
+ if it's clickable, visible and the column is reorderable
+ (#65539)
+
+ * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
+ create and free cursor
+
Mon Dec 3 10:23:07 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcalendar.c (gtk_calendar_size_request): Fix
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index f5769b8ea..57a8c41cc 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -1,3 +1,23 @@
+Mon Dec 3 21:15:59 2001 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreedatalist.c (_gtk_tree_data_list_value_to_node): if
+ we use pointers, we should free the previous pointer first (if
+ it exists), before we set a new pointer. (#64726)
+
+ * gtk/gtktreeprivate.h: get rid of cursor_drag
+
+ * gtk/gtktreeview.c (gtk_tree_view_unrealize): remove check
+ for cursor_drag
+ (gtk_tree_view_bin_expose): don't directly return in the while
+ loop
+ (gtk_tree_view_class_init): indentend expanders by default
+ (gtk_tree_view_header_focus): only give the button focus
+ if it's clickable, visible and the column is reorderable
+ (#65539)
+
+ * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
+ create and free cursor
+
Mon Dec 3 10:23:07 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcalendar.c (gtk_calendar_size_request): Fix
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index f5769b8ea..57a8c41cc 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,3 +1,23 @@
+Mon Dec 3 21:15:59 2001 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreedatalist.c (_gtk_tree_data_list_value_to_node): if
+ we use pointers, we should free the previous pointer first (if
+ it exists), before we set a new pointer. (#64726)
+
+ * gtk/gtktreeprivate.h: get rid of cursor_drag
+
+ * gtk/gtktreeview.c (gtk_tree_view_unrealize): remove check
+ for cursor_drag
+ (gtk_tree_view_bin_expose): don't directly return in the while
+ loop
+ (gtk_tree_view_class_init): indentend expanders by default
+ (gtk_tree_view_header_focus): only give the button focus
+ if it's clickable, visible and the column is reorderable
+ (#65539)
+
+ * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
+ create and free cursor
+
Mon Dec 3 10:23:07 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcalendar.c (gtk_calendar_size_request): Fix
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index f5769b8ea..57a8c41cc 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,3 +1,23 @@
+Mon Dec 3 21:15:59 2001 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreedatalist.c (_gtk_tree_data_list_value_to_node): if
+ we use pointers, we should free the previous pointer first (if
+ it exists), before we set a new pointer. (#64726)
+
+ * gtk/gtktreeprivate.h: get rid of cursor_drag
+
+ * gtk/gtktreeview.c (gtk_tree_view_unrealize): remove check
+ for cursor_drag
+ (gtk_tree_view_bin_expose): don't directly return in the while
+ loop
+ (gtk_tree_view_class_init): indentend expanders by default
+ (gtk_tree_view_header_focus): only give the button focus
+ if it's clickable, visible and the column is reorderable
+ (#65539)
+
+ * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
+ create and free cursor
+
Mon Dec 3 10:23:07 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcalendar.c (gtk_calendar_size_request): Fix
diff --git a/gtk/gtktreedatalist.c b/gtk/gtktreedatalist.c
index d47874cfe..ca11a4ecd 100644
--- a/gtk/gtktreedatalist.c
+++ b/gtk/gtktreedatalist.c
@@ -196,12 +196,18 @@ _gtk_tree_data_list_value_to_node (GtkTreeDataList *list,
list->data.v_double = g_value_get_double (value);
break;
case G_TYPE_STRING:
+ if (list->data.v_pointer)
+ g_free (list->data.v_pointer);
list->data.v_pointer = g_value_dup_string (value);
break;
case G_TYPE_OBJECT:
+ if (list->data.v_pointer)
+ g_object_unref (list->data.v_pointer);
list->data.v_pointer = g_value_dup_object (value);
break;
case G_TYPE_BOXED:
+ if (list->data.v_pointer)
+ g_boxed_free (G_VALUE_TYPE (value), list->data.v_pointer);
list->data.v_pointer = g_value_dup_boxed (value);
break;
default:
diff --git a/gtk/gtktreeprivate.h b/gtk/gtktreeprivate.h
index 05801954e..241d18793 100644
--- a/gtk/gtktreeprivate.h
+++ b/gtk/gtktreeprivate.h
@@ -117,7 +117,6 @@ struct _GtkTreeViewPrivate
GtkTreeRowReference *cursor;
/* Column Resizing */
- GdkCursor *cursor_drag;
GdkGC *xor_gc;
gint drag_pos;
gint x_drag;
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index 329fe05f0..a60a041a8 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -616,7 +616,7 @@ gtk_tree_view_class_init (GtkTreeViewClass *class)
g_param_spec_boolean ("indent_expanders",
_("Indent Expanders"),
_("Make the expanders indented."),
- FALSE,
+ TRUE,
G_PARAM_READABLE));
/* Signals */
widget_class->set_scroll_adjustments_signal =
@@ -1349,12 +1349,6 @@ gtk_tree_view_unrealize (GtkWidget *widget)
tree_view->priv->drag_highlight_window = NULL;
}
- if (tree_view->priv->cursor_drag)
- {
- gdk_cursor_destroy (tree_view->priv->cursor_drag);
- tree_view->priv->cursor_drag = NULL;
- }
-
if (tree_view->priv->xor_gc)
{
gdk_gc_destroy (tree_view->priv->xor_gc);
@@ -2835,9 +2829,8 @@ gtk_tree_view_bin_expose (GtkWidget *widget,
node = tree->parent_node;
tree = tree->parent_tree;
if (tree == NULL)
- /* we've run out of tree. It's okay to return though, as
- * we'd only break out of the while loop below. */
- return TRUE;
+ /* we should go to done to free some memory */
+ goto done;
has_parent = gtk_tree_model_iter_parent (tree_view->priv->model,
&iter,
&parent_iter);
@@ -2852,6 +2845,7 @@ gtk_tree_view_bin_expose (GtkWidget *widget,
}
while (y_offset < event->area.height);
+ done:
if (cursor_path)
gtk_tree_path_free (cursor_path);
@@ -3993,6 +3987,8 @@ gtk_tree_view_header_focus (GtkTreeView *tree_view,
while (last_column)
{
if (GTK_WIDGET_CAN_FOCUS (GTK_TREE_VIEW_COLUMN (last_column->data)->button) &&
+ GTK_TREE_VIEW_COLUMN (last_column->data)->clickable &&
+ GTK_TREE_VIEW_COLUMN (last_column->data)->reorderable &&
GTK_TREE_VIEW_COLUMN (last_column->data)->visible)
break;
last_column = last_column->prev;
@@ -4007,6 +4003,8 @@ gtk_tree_view_header_focus (GtkTreeView *tree_view,
while (first_column)
{
if (GTK_WIDGET_CAN_FOCUS (GTK_TREE_VIEW_COLUMN (first_column->data)->button) &&
+ GTK_TREE_VIEW_COLUMN (first_column->data)->clickable &&
+ GTK_TREE_VIEW_COLUMN (last_column->data)->reorderable &&
GTK_TREE_VIEW_COLUMN (first_column->data)->visible)
break;
first_column = first_column->next;
diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c
index 03ba695f8..ecbd58c74 100644
--- a/gtk/gtktreeviewcolumn.c
+++ b/gtk/gtktreeviewcolumn.c
@@ -929,7 +929,6 @@ _gtk_tree_view_column_realize_button (GtkTreeViewColumn *column)
GDK_KEY_PRESS_MASK);
attributes_mask = GDK_WA_CURSOR | GDK_WA_X | GDK_WA_Y;
attr.cursor = gdk_cursor_new (GDK_SB_H_DOUBLE_ARROW);
- tree_view->priv->cursor_drag = attr.cursor;
attr.y = 0;
attr.width = TREE_VIEW_DRAG_WIDTH;
@@ -942,6 +941,8 @@ _gtk_tree_view_column_realize_button (GtkTreeViewColumn *column)
gdk_window_set_user_data (column->window, tree_view);
gtk_tree_view_column_update_button (column);
+
+ gdk_cursor_unref (attr.cursor);
}
void