[gtk+] inspector: Do not show transient nodes
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] inspector: Do not show transient nodes
- Date: Mon, 2 Nov 2015 19:32:35 +0000 (UTC)
commit 7cdfee71da41d4ed3c6e81b2695e4bb932e9cd6c
Author: Benjamin Otte <otte redhat com>
Date: Mon Nov 2 20:25:09 2015 +0100
inspector: Do not show transient nodes
This is kind of a hack the way it's implemented, but it's necessary
for performance to ignore transient nodes as they get created all the
time (via gtk_style_context_save()) and invalidate the whole treeview.
And that causes resizes and redrawing of the treeview and performance of
the inspector would go down the drain now that we display a larger part
of the node tree.
gtk/inspector/gtktreemodelcssnode.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
---
diff --git a/gtk/inspector/gtktreemodelcssnode.c b/gtk/inspector/gtktreemodelcssnode.c
index 196335e..ee55211 100644
--- a/gtk/inspector/gtktreemodelcssnode.c
+++ b/gtk/inspector/gtktreemodelcssnode.c
@@ -18,6 +18,7 @@
#include "config.h"
#include "gtktreemodelcssnode.h"
+#include "gtk/gtkcsstransientnodeprivate.h"
struct _GtkTreeModelCssNodePrivate
{
@@ -471,6 +472,9 @@ gtk_tree_model_css_node_connect_node (GtkTreeModelCssNode *model,
{
GtkCssNode *child;
+ if (GTK_IS_CSS_TRANSIENT_NODE (node))
+ return;
+
g_object_ref (node);
g_signal_connect_after (node, "node-added", G_CALLBACK (child_added_cb), model);
@@ -520,6 +524,9 @@ gtk_tree_model_css_node_disconnect_node (GtkTreeModelCssNode *model,
{
GtkCssNode *child;
+ if (GTK_IS_CSS_TRANSIENT_NODE (node))
+ return;
+
g_signal_handlers_disconnect_by_func (node, G_CALLBACK (child_added_cb), model);
g_signal_handlers_disconnect_by_func (node, G_CALLBACK (child_removed_cb), model);
g_signal_handlers_disconnect_by_func (node, G_CALLBACK (notify_cb), model);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]