2003-12-07 Murray Cumming <murrayc@usa.net>
* gtk/gtktreemodel.c:
(row_inserted_marshal, row_deleted_marshal, rows_reorderered_marshal)
Actually call the default signal handlers instead of calling the
marshallers themselves in an endless loop. These default signal handler
callbacks are not actually set so this is only noticed by gtkmm at
the moment. Bug 123923.
+2003-12-07 Murray Cumming <murrayc@usa.net>
+
+ * gtk/gtktreemodel.c:
+ (row_inserted_marshal, row_deleted_marshal, rows_reorderered_marshal)
+ Actually call the default signal handlers instead of calling the
+ marshallers themselves in an endless loop. These default signal handler
+ callbacks are not actually set so this is only noticed by gtkmm at
+ the moment. Bug 123923.
+
2003-12-16 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Added a
2003-12-16 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Added a
+2003-12-07 Murray Cumming <murrayc@usa.net>
+
+ * gtk/gtktreemodel.c:
+ (row_inserted_marshal, row_deleted_marshal, rows_reorderered_marshal)
+ Actually call the default signal handlers instead of calling the
+ marshallers themselves in an endless loop. These default signal handler
+ callbacks are not actually set so this is only noticed by gtkmm at
+ the moment. Bug 123923.
+
2003-12-16 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Added a
2003-12-16 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Added a
+2003-12-07 Murray Cumming <murrayc@usa.net>
+
+ * gtk/gtktreemodel.c:
+ (row_inserted_marshal, row_deleted_marshal, rows_reorderered_marshal)
+ Actually call the default signal handlers instead of calling the
+ marshallers themselves in an endless loop. These default signal handler
+ callbacks are not actually set so this is only noticed by gtkmm at
+ the moment. Bug 123923.
+
2003-12-16 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Added a
2003-12-16 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Added a
+2003-12-07 Murray Cumming <murrayc@usa.net>
+
+ * gtk/gtktreemodel.c:
+ (row_inserted_marshal, row_deleted_marshal, rows_reorderered_marshal)
+ Actually call the default signal handlers instead of calling the
+ marshallers themselves in an endless loop. These default signal handler
+ callbacks are not actually set so this is only noticed by gtkmm at
+ the moment. Bug 123923.
+
2003-12-16 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Added a
2003-12-16 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Added a
+2003-12-07 Murray Cumming <murrayc@usa.net>
+
+ * gtk/gtktreemodel.c:
+ (row_inserted_marshal, row_deleted_marshal, rows_reorderered_marshal)
+ Actually call the default signal handlers instead of calling the
+ marshallers themselves in an endless loop. These default signal handler
+ callbacks are not actually set so this is only noticed by gtkmm at
+ the moment. Bug 123923.
+
2003-12-16 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Added a
2003-12-16 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilesystem.h (struct _GtkFileSystemIface): Added a
gpointer marshal_data)
{
GtkTreeModelIface *iface;
gpointer marshal_data)
{
GtkTreeModelIface *iface;
+
+ void (* row_inserted_callback) (GtkTreeModel *tree_model,
+ GtkTreePath *path,
+ GtkTreeIter *iter) = 0;
+
GObject *model = g_value_get_object (param_values + 0);
GObject *model = g_value_get_object (param_values + 0);
+ GtkTreePath *path = (GtkTreePath *)g_value_get_boxed (param_values + 1);
+ GtkTreeIter *iter = (GtkTreeIter *)g_value_get_boxed (param_values + 2);
/* first, we need to update internal row references */
gtk_tree_row_ref_inserted ((RowRefList *)g_object_get_data (model, ROW_REF_DATA_STRING),
/* first, we need to update internal row references */
gtk_tree_row_ref_inserted ((RowRefList *)g_object_get_data (model, ROW_REF_DATA_STRING),
- (GtkTreePath *)g_value_get_boxed (param_values + 1),
- (GtkTreeIter *)g_value_get_boxed (param_values + 2));
-
/* fetch the interface ->row_inserted implementation */
iface = GTK_TREE_MODEL_GET_IFACE (model);
/* fetch the interface ->row_inserted implementation */
iface = GTK_TREE_MODEL_GET_IFACE (model);
- callback = G_STRUCT_MEMBER (gpointer, iface,
+ row_inserted_callback = G_STRUCT_MEMBER (gpointer, iface,
G_STRUCT_OFFSET (GtkTreeModelIface,
row_inserted));
G_STRUCT_OFFSET (GtkTreeModelIface,
row_inserted));
- if (callback)
- closure->marshal (closure,
- return_value,
- n_param_values, param_values,
- invocation_hint,
- callback);
+
+ /* Call that default signal handler, it if has been set */
+ if (row_inserted_callback)
+ row_inserted_callback (GTK_TREE_MODEL (model), path, iter);
gpointer marshal_data)
{
GtkTreeModelIface *iface;
gpointer marshal_data)
{
GtkTreeModelIface *iface;
+ void (* row_deleted_callback) (GtkTreeModel *tree_model,
+ GtkTreePath *path) = 0;
GObject *model = g_value_get_object (param_values + 0);
GObject *model = g_value_get_object (param_values + 0);
+ GtkTreePath *path = (GtkTreePath *)g_value_get_boxed (param_values + 1);
+
/* first, we need to update internal row references */
gtk_tree_row_ref_deleted ((RowRefList *)g_object_get_data (model, ROW_REF_DATA_STRING),
/* first, we need to update internal row references */
gtk_tree_row_ref_deleted ((RowRefList *)g_object_get_data (model, ROW_REF_DATA_STRING),
- (GtkTreePath *)g_value_get_boxed (param_values + 1));
+ /* fetch the interface ->row_deleted implementation */
iface = GTK_TREE_MODEL_GET_IFACE (model);
iface = GTK_TREE_MODEL_GET_IFACE (model);
- callback = G_STRUCT_MEMBER (gpointer, iface,
+ row_deleted_callback = G_STRUCT_MEMBER (gpointer, iface,
G_STRUCT_OFFSET (GtkTreeModelIface,
row_deleted));
G_STRUCT_OFFSET (GtkTreeModelIface,
row_deleted));
- if (callback)
- closure->marshal (closure,
- return_value,
- n_param_values, param_values,
- invocation_hint,
- callback);
+
+ /* Call that default signal handler, it if has been set */
+ if (row_deleted_callback)
+ row_deleted_callback (GTK_TREE_MODEL (model), path);
gpointer marshal_data)
{
GtkTreeModelIface *iface;
gpointer marshal_data)
{
GtkTreeModelIface *iface;
+ void (* rows_reordered_callback) (GtkTreeModel *tree_model,
+ GtkTreePath *path,
+ GtkTreeIter *iter,
+ gint *new_order);
+
GObject *model = g_value_get_object (param_values + 0);
GObject *model = g_value_get_object (param_values + 0);
+ GtkTreePath *path = (GtkTreePath *)g_value_get_boxed (param_values + 1);
+ GtkTreeIter *iter = (GtkTreeIter *)g_value_get_boxed (param_values + 2);
+ gint *new_order = (gint *)g_value_get_pointer (param_values + 3);
+
/* first, we need to update internal row references */
gtk_tree_row_ref_reordered ((RowRefList *)g_object_get_data (model, ROW_REF_DATA_STRING),
/* first, we need to update internal row references */
gtk_tree_row_ref_reordered ((RowRefList *)g_object_get_data (model, ROW_REF_DATA_STRING),
- (GtkTreePath *)g_value_get_boxed (param_values + 1),
- (GtkTreeIter *)g_value_get_boxed (param_values + 2),
- (gint *)g_value_get_pointer (param_values + 3));
+ path, iter, new_order);
+ /* fetch the interface ->rows_reordered implementation */
iface = GTK_TREE_MODEL_GET_IFACE (model);
iface = GTK_TREE_MODEL_GET_IFACE (model);
- callback = G_STRUCT_MEMBER (gpointer, iface,
+ rows_reordered_callback = G_STRUCT_MEMBER (gpointer, iface,
G_STRUCT_OFFSET (GtkTreeModelIface,
rows_reordered));
G_STRUCT_OFFSET (GtkTreeModelIface,
rows_reordered));
- if (callback)
- closure->marshal (closure,
- return_value,
- n_param_values, param_values,
- invocation_hint,
- callback);
+
+ /* Call that default signal handler, it if has been set */
+ if (rows_reordered_callback)
+ rows_reordered_callback (GTK_TREE_MODEL (model), path, iter, new_order);