aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-tree-model.c
diff options
context:
space:
mode:
authorSrinivasa Ragavan <sragavan@novell.com>2009-05-04 12:10:18 +0800
committerBharath Acharya <abharath@novell.com>2009-05-04 12:10:18 +0800
commitfad86a267fd3c0ebc402ca67f14a0d2f74f57b74 (patch)
tree1920fde1a6ff82bcbcedffb85de9190dd3700b12 /widgets/table/e-tree-model.c
parent9aec0b31e5d2cd95b53e762dddf38a9982dd6217 (diff)
downloadgsoc2013-evolution-fad86a267fd3c0ebc402ca67f14a0d2f74f57b74.tar
gsoc2013-evolution-fad86a267fd3c0ebc402ca67f14a0d2f74f57b74.tar.gz
gsoc2013-evolution-fad86a267fd3c0ebc402ca67f14a0d2f74f57b74.tar.bz2
gsoc2013-evolution-fad86a267fd3c0ebc402ca67f14a0d2f74f57b74.tar.lz
gsoc2013-evolution-fad86a267fd3c0ebc402ca67f14a0d2f74f57b74.tar.xz
gsoc2013-evolution-fad86a267fd3c0ebc402ca67f14a0d2f74f57b74.tar.zst
gsoc2013-evolution-fad86a267fd3c0ebc402ca67f14a0d2f74f57b74.zip
** BUGFIX: 569696 – Memory leak in message-list
Not exactly a leak, but a build-up over a period of time. Clear the internal gnode on regen.
Diffstat (limited to 'widgets/table/e-tree-model.c')
-rw-r--r--widgets/table/e-tree-model.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/widgets/table/e-tree-model.c b/widgets/table/e-tree-model.c
index 10c7afeb54..b2e2d99a75 100644
--- a/widgets/table/e-tree-model.c
+++ b/widgets/table/e-tree-model.c
@@ -53,6 +53,7 @@ enum {
NODE_REMOVED,
NODE_DELETED,
NODE_REQUEST_COLLAPSE,
+ REBUILT,
LAST_SIGNAL
};
@@ -82,6 +83,15 @@ e_tree_model_class_init (ETreeModelClass *klass)
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+ e_tree_model_signals [REBUILT] =
+ g_signal_new ("rebuilt",
+ G_TYPE_FROM_CLASS (object_class),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (ETreeModelClass, rebuilt),
+ (GSignalAccumulator) NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
+
e_tree_model_signals [NODE_CHANGED] =
g_signal_new ("node_changed",
G_TYPE_FROM_CLASS (object_class),
@@ -183,6 +193,7 @@ e_tree_model_class_init (ETreeModelClass *klass)
klass->pre_change = NULL;
klass->no_change = NULL;
+ klass->rebuilt = NULL;
klass->node_changed = NULL;
klass->node_data_changed = NULL;
klass->node_col_changed = NULL;
@@ -241,6 +252,25 @@ e_tree_model_no_change (ETreeModel *tree_model)
}
/**
+ * e_tree_model_rebuilt:
+ * @tree_model:
+ * @node:
+ *
+ *
+ *
+ * Return value:
+ **/
+void
+e_tree_model_rebuilt (ETreeModel *tree_model)
+{
+ g_return_if_fail (tree_model != NULL);
+ g_return_if_fail (E_IS_TREE_MODEL (tree_model));
+
+ d(g_print("Emitting rebuilt on model 0x%p, a %s.\n", tree_model, g_type_name (GTK_OBJECT(tree_model)->klass->type)));
+
+ g_signal_emit (G_OBJECT (tree_model), e_tree_model_signals [REBUILT], 0);
+}
+/**
* e_tree_model_node_changed:
* @tree_model:
* @node: