summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
Diffstat (limited to 'gdk')
-rw-r--r--gdk/broadway/broadway-output.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gdk/broadway/broadway-output.c b/gdk/broadway/broadway-output.c
index 226526219a..81332fa795 100644
--- a/gdk/broadway/broadway-output.c
+++ b/gdk/broadway/broadway-output.c
@@ -373,6 +373,12 @@ broadway_output_window_set_nodes (BroadwayOutput *output,
BroadwayNode *old_root)
{
gsize size_pos, start, end;
+
+ /* Early return if nothing changed */
+ if (old_root != NULL &&
+ broadway_node_deep_equal (root, old_root))
+ return;
+
write_header (output, BROADWAY_OP_SET_NODES);
append_uint16 (output, id);