+Sun Mar 3 06:39:19 2002 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkfilesel.c: added compile time switch to put the tree views
+ into a hpaned for owen to play with.
+
+ * gtk/gtktreedatalist.c (_gtk_tree_data_list_header_free):
+ * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func),
+ (gtk_tree_view_column_finalize):
+ * gtk/gtktreestore.c (gtk_tree_store_set_default_sort_func),
+ (gtk_tree_store_set_sort_func), (gtk_tree_store_finalize):
+ * gtk/gtktreeselection.c (gtk_tree_selection_finalize):
+ * gtk/gtktreemodelsort.c (gtk_tree_model_sort_reset_default_sort_func),
+ (gtk_tree_model_sort_set_default_sort_func),
+ (gtk_tree_model_sort_set_sort_func):
+ * gtk/gtkliststore.c (gtk_list_store_set_default_sort_func),
+ (gtk_list_store_set_default_sort_func),
+ (gtk_list_store_set_sort_func), (gtk_list_store_finalize):
+ add reentrancy protection around destroy() function invocation.
+
+ * gtk/gtktreeselection.c (gtk_tree_selection_set_select_function): fix
+ destroy function invocation (which was missing).
+
Sat Mar 2 23:08:23 2002 Owen Taylor <otaylor@redhat.com>
Fixes for uninstalled operation with module suffixes
+Sun Mar 3 06:39:19 2002 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkfilesel.c: added compile time switch to put the tree views
+ into a hpaned for owen to play with.
+
+ * gtk/gtktreedatalist.c (_gtk_tree_data_list_header_free):
+ * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func),
+ (gtk_tree_view_column_finalize):
+ * gtk/gtktreestore.c (gtk_tree_store_set_default_sort_func),
+ (gtk_tree_store_set_sort_func), (gtk_tree_store_finalize):
+ * gtk/gtktreeselection.c (gtk_tree_selection_finalize):
+ * gtk/gtktreemodelsort.c (gtk_tree_model_sort_reset_default_sort_func),
+ (gtk_tree_model_sort_set_default_sort_func),
+ (gtk_tree_model_sort_set_sort_func):
+ * gtk/gtkliststore.c (gtk_list_store_set_default_sort_func),
+ (gtk_list_store_set_default_sort_func),
+ (gtk_list_store_set_sort_func), (gtk_list_store_finalize):
+ add reentrancy protection around destroy() function invocation.
+
+ * gtk/gtktreeselection.c (gtk_tree_selection_set_select_function): fix
+ destroy function invocation (which was missing).
+
Sat Mar 2 23:08:23 2002 Owen Taylor <otaylor@redhat.com>
Fixes for uninstalled operation with module suffixes
+Sun Mar 3 06:39:19 2002 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkfilesel.c: added compile time switch to put the tree views
+ into a hpaned for owen to play with.
+
+ * gtk/gtktreedatalist.c (_gtk_tree_data_list_header_free):
+ * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func),
+ (gtk_tree_view_column_finalize):
+ * gtk/gtktreestore.c (gtk_tree_store_set_default_sort_func),
+ (gtk_tree_store_set_sort_func), (gtk_tree_store_finalize):
+ * gtk/gtktreeselection.c (gtk_tree_selection_finalize):
+ * gtk/gtktreemodelsort.c (gtk_tree_model_sort_reset_default_sort_func),
+ (gtk_tree_model_sort_set_default_sort_func),
+ (gtk_tree_model_sort_set_sort_func):
+ * gtk/gtkliststore.c (gtk_list_store_set_default_sort_func),
+ (gtk_list_store_set_default_sort_func),
+ (gtk_list_store_set_sort_func), (gtk_list_store_finalize):
+ add reentrancy protection around destroy() function invocation.
+
+ * gtk/gtktreeselection.c (gtk_tree_selection_set_select_function): fix
+ destroy function invocation (which was missing).
+
Sat Mar 2 23:08:23 2002 Owen Taylor <otaylor@redhat.com>
Fixes for uninstalled operation with module suffixes
+Sun Mar 3 06:39:19 2002 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkfilesel.c: added compile time switch to put the tree views
+ into a hpaned for owen to play with.
+
+ * gtk/gtktreedatalist.c (_gtk_tree_data_list_header_free):
+ * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func),
+ (gtk_tree_view_column_finalize):
+ * gtk/gtktreestore.c (gtk_tree_store_set_default_sort_func),
+ (gtk_tree_store_set_sort_func), (gtk_tree_store_finalize):
+ * gtk/gtktreeselection.c (gtk_tree_selection_finalize):
+ * gtk/gtktreemodelsort.c (gtk_tree_model_sort_reset_default_sort_func),
+ (gtk_tree_model_sort_set_default_sort_func),
+ (gtk_tree_model_sort_set_sort_func):
+ * gtk/gtkliststore.c (gtk_list_store_set_default_sort_func),
+ (gtk_list_store_set_default_sort_func),
+ (gtk_list_store_set_sort_func), (gtk_list_store_finalize):
+ add reentrancy protection around destroy() function invocation.
+
+ * gtk/gtktreeselection.c (gtk_tree_selection_set_select_function): fix
+ destroy function invocation (which was missing).
+
Sat Mar 2 23:08:23 2002 Owen Taylor <otaylor@redhat.com>
Fixes for uninstalled operation with module suffixes
+Sun Mar 3 06:39:19 2002 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkfilesel.c: added compile time switch to put the tree views
+ into a hpaned for owen to play with.
+
+ * gtk/gtktreedatalist.c (_gtk_tree_data_list_header_free):
+ * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func),
+ (gtk_tree_view_column_finalize):
+ * gtk/gtktreestore.c (gtk_tree_store_set_default_sort_func),
+ (gtk_tree_store_set_sort_func), (gtk_tree_store_finalize):
+ * gtk/gtktreeselection.c (gtk_tree_selection_finalize):
+ * gtk/gtktreemodelsort.c (gtk_tree_model_sort_reset_default_sort_func),
+ (gtk_tree_model_sort_set_default_sort_func),
+ (gtk_tree_model_sort_set_sort_func):
+ * gtk/gtkliststore.c (gtk_list_store_set_default_sort_func),
+ (gtk_list_store_set_default_sort_func),
+ (gtk_list_store_set_sort_func), (gtk_list_store_finalize):
+ add reentrancy protection around destroy() function invocation.
+
+ * gtk/gtktreeselection.c (gtk_tree_selection_set_select_function): fix
+ destroy function invocation (which was missing).
+
Sat Mar 2 23:08:23 2002 Owen Taylor <otaylor@redhat.com>
Fixes for uninstalled operation with module suffixes
+Sun Mar 3 06:39:19 2002 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkfilesel.c: added compile time switch to put the tree views
+ into a hpaned for owen to play with.
+
+ * gtk/gtktreedatalist.c (_gtk_tree_data_list_header_free):
+ * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func),
+ (gtk_tree_view_column_finalize):
+ * gtk/gtktreestore.c (gtk_tree_store_set_default_sort_func),
+ (gtk_tree_store_set_sort_func), (gtk_tree_store_finalize):
+ * gtk/gtktreeselection.c (gtk_tree_selection_finalize):
+ * gtk/gtktreemodelsort.c (gtk_tree_model_sort_reset_default_sort_func),
+ (gtk_tree_model_sort_set_default_sort_func),
+ (gtk_tree_model_sort_set_sort_func):
+ * gtk/gtkliststore.c (gtk_list_store_set_default_sort_func),
+ (gtk_list_store_set_default_sort_func),
+ (gtk_list_store_set_sort_func), (gtk_list_store_finalize):
+ add reentrancy protection around destroy() function invocation.
+
+ * gtk/gtktreeselection.c (gtk_tree_selection_set_select_function): fix
+ destroy function invocation (which was missing).
+
Sat Mar 2 23:08:23 2002 Owen Taylor <otaylor@redhat.com>
Fixes for uninstalled operation with module suffixes
+Sun Mar 3 06:39:19 2002 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkfilesel.c: added compile time switch to put the tree views
+ into a hpaned for owen to play with.
+
+ * gtk/gtktreedatalist.c (_gtk_tree_data_list_header_free):
+ * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func),
+ (gtk_tree_view_column_finalize):
+ * gtk/gtktreestore.c (gtk_tree_store_set_default_sort_func),
+ (gtk_tree_store_set_sort_func), (gtk_tree_store_finalize):
+ * gtk/gtktreeselection.c (gtk_tree_selection_finalize):
+ * gtk/gtktreemodelsort.c (gtk_tree_model_sort_reset_default_sort_func),
+ (gtk_tree_model_sort_set_default_sort_func),
+ (gtk_tree_model_sort_set_sort_func):
+ * gtk/gtkliststore.c (gtk_list_store_set_default_sort_func),
+ (gtk_list_store_set_default_sort_func),
+ (gtk_list_store_set_sort_func), (gtk_list_store_finalize):
+ add reentrancy protection around destroy() function invocation.
+
+ * gtk/gtktreeselection.c (gtk_tree_selection_set_select_function): fix
+ destroy function invocation (which was missing).
+
Sat Mar 2 23:08:23 2002 Owen Taylor <otaylor@redhat.com>
Fixes for uninstalled operation with module suffixes
#include "gtkdnd.h"
#include "gtkeventbox.h"
+#define WANT_HPANAED 1
+#include "gtkhpaned.h"
#ifdef G_OS_WIN32
#include <direct.h>
{
GtkWidget *entry_vbox;
GtkWidget *label;
- GtkWidget *list_hbox;
+ GtkWidget *list_hbox, *list_container;
GtkWidget *confirm_area;
GtkWidget *pulldown_hbox;
GtkWidget *scrolled_win;
list_hbox = gtk_hbox_new (FALSE, 5);
gtk_box_pack_start (GTK_BOX (filesel->main_vbox), list_hbox, TRUE, TRUE, 0);
gtk_widget_show (list_hbox);
+ if (WANT_HPANAED)
+ list_container = g_object_new (GTK_TYPE_HPANED,
+ "visible", TRUE,
+ "parent", list_hbox,
+ NULL);
+ else
+ list_container = list_hbox;
/* The directories list */
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win),
GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
gtk_container_set_border_width (GTK_CONTAINER (scrolled_win), 5);
- gtk_box_pack_start (GTK_BOX (list_hbox), scrolled_win, TRUE, TRUE, 0);
+ if (GTK_IS_PANED (list_container))
+ gtk_paned_pack1 (GTK_PANED (list_container), scrolled_win, TRUE, TRUE);
+ else
+ gtk_container_add (GTK_CONTAINER (list_container), scrolled_win);
gtk_widget_show (filesel->dir_list);
gtk_widget_show (scrolled_win);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win),
GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
gtk_container_set_border_width (GTK_CONTAINER (scrolled_win), 5);
- gtk_box_pack_start (GTK_BOX (list_hbox), scrolled_win, TRUE, TRUE, 0);
+ gtk_container_add (GTK_CONTAINER (list_container), scrolled_win);
gtk_widget_show (filesel->file_list);
gtk_widget_show (scrolled_win);
if (list_store->default_sort_destroy)
{
- (* list_store->default_sort_destroy) (list_store->default_sort_data);
+ GtkDestroyNotify d = list_store->default_sort_destroy;
+
list_store->default_sort_destroy = NULL;
+ d (list_store->default_sort_data);
list_store->default_sort_data = NULL;
}
}
if (header->destroy)
- (* header->destroy) (header->data);
+ {
+ GtkDestroyNotify d = header->destroy;
+
+ header->destroy = NULL;
+ d (header->data);
+ }
header->func = func;
header->data = data;
g_return_if_fail (GTK_IS_LIST_STORE (sortable));
if (list_store->default_sort_destroy)
- (* list_store->default_sort_destroy) (list_store->default_sort_data);
+ {
+ GtkDestroyNotify d = list_store->default_sort_destroy;
+
+ list_store->default_sort_destroy = NULL;
+ d (list_store->default_sort_data);
+ }
list_store->default_sort_func = func;
list_store->default_sort_data = data;
GtkTreeDataSortHeader *header = (GtkTreeDataSortHeader *) tmp->data;
if (header->destroy)
- (* header->destroy) (header->data);
+ {
+ GtkDestroyNotify d = header->destroy;
+
+ header->destroy = NULL;
+ d (header->data);
+ }
g_free (header);
}
}
if (header->destroy)
- (* header->destroy) (header->data);
+ {
+ GtkDestroyNotify d = header->destroy;
+
+ header->destroy = NULL;
+ d (header->data);
+ }
header->func = func;
header->data = data;
g_return_if_fail (GTK_IS_TREE_MODEL_SORT (sortable));
if (tree_model_sort->default_sort_destroy)
- (* tree_model_sort->default_sort_destroy) (tree_model_sort->default_sort_data);
+ {
+ GtkDestroyNotify d = tree_model_sort->default_sort_destroy;
+
+ tree_model_sort->default_sort_destroy = NULL;
+ d (tree_model_sort->default_sort_data);
+ }
tree_model_sort->default_sort_func = func;
tree_model_sort->default_sort_data = data;
g_return_if_fail (GTK_IS_TREE_MODEL_SORT (tree_model_sort));
if (tree_model_sort->default_sort_destroy)
- (* tree_model_sort->default_sort_destroy) (tree_model_sort->default_sort_data);
+ {
+ GtkDestroyNotify d = tree_model_sort->default_sort_destroy;
+
+ tree_model_sort->default_sort_destroy = NULL;
+ d (tree_model_sort->default_sort_data);
+ }
tree_model_sort->default_sort_func = NO_SORT_FUNC;
tree_model_sort->default_sort_data = NULL;
static void
gtk_tree_selection_finalize (GObject *object)
{
- if (GTK_TREE_SELECTION (object)->destroy)
- (* GTK_TREE_SELECTION (object)->destroy) (GTK_TREE_SELECTION (object)->user_data);
+ GtkTreeSelection *selection = GTK_TREE_SELECTION (object);
+
+ if (selection->destroy)
+ {
+ GtkDestroyNotify d = selection->destroy;
+
+ selection->destroy = NULL;
+ d (selection->user_data);
+ }
/* chain parent_class' handler */
G_OBJECT_CLASS (parent_class)->finalize (object);
g_return_if_fail (GTK_IS_TREE_SELECTION (selection));
g_return_if_fail (func != NULL);
+ if (selection->destroy)
+ {
+ GtkDestroyNotify d = selection->destroy;
+
+ selection->destroy = NULL;
+ d (selection->user_data);
+ }
+
selection->user_func = func;
selection->user_data = data;
selection->destroy = destroy;
if (tree_store->default_sort_destroy)
{
- (* tree_store->default_sort_destroy) (tree_store->default_sort_data);
+ GtkDestroyNotify d = tree_store->default_sort_destroy;
+
tree_store->default_sort_destroy = NULL;
+ d (tree_store->default_sort_data);
tree_store->default_sort_data = NULL;
}
}
if (header->destroy)
- (* header->destroy) (header->data);
+ {
+ GtkDestroyNotify d = header->destroy;
+
+ header->destroy = NULL;
+ d (header->data);
+ }
header->func = func;
header->data = data;
header->destroy = destroy;
-
}
static void
g_return_if_fail (GTK_IS_TREE_STORE (sortable));
if (tree_store->default_sort_destroy)
- (* tree_store->default_sort_destroy) (tree_store->default_sort_data);
+ {
+ GtkDestroyNotify d = tree_store->default_sort_destroy;
+
+ tree_store->default_sort_destroy = NULL;
+ d (tree_store->default_sort_data);
+ }
tree_store->default_sort_func = func;
tree_store->default_sort_data = data;
for (list = tree_column->cell_list; list; list = list->next)
{
GtkTreeViewColumnCellInfo *info = (GtkTreeViewColumnCellInfo *) list->data;
- if (info->func_data && info->destroy)
- (info->destroy) (info->func_data);
+
+ if (info->destroy)
+ {
+ GtkDestroyNotify d = info->destroy;
+
+ info->destroy = NULL;
+ d (info->func_data);
+ }
gtk_tree_view_column_clear_attributes (tree_column, info->cell);
g_object_unref (G_OBJECT (info->cell));
g_free (info);
g_return_if_fail (info != NULL);
- if (func == info->func &&
- func_data == info->func_data &&
- destroy == info->destroy)
- return;
+ if (info->destroy)
+ {
+ GtkDestroyNotify d = info->destroy;
- if (info->func_data && info->destroy)
- (info->destroy) (info->func_data);
+ info->destroy = NULL;
+ d (info->func_data);
+ }
info->func = func;
info->func_data = func_data;