From 9ddac2bb5c47ae51c757028a08d603c4cd906f60 Mon Sep 17 00:00:00 2001 From: Alan Date: Wed, 14 Feb 2024 13:02:14 +0800 Subject: [PATCH] Fix #8030 - fix multiple ref issue --- src/Builder4/Editor.vala | 7 ------- src/JsRender/NodeToVala.vala | 17 ++++++----------- 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/src/Builder4/Editor.vala b/src/Builder4/Editor.vala index 8422d9c35..6d7d33440 100644 --- a/src/Builder4/Editor.vala +++ b/src/Builder4/Editor.vala @@ -65,13 +65,11 @@ public class Editor : Object this.el.vexpand = true; var child_1 = new Xcls_Box1( _this ); child_1.ref(); - child_1.ref(); this.el.append( child_1.el ); new Xcls_RightEditor( _this ); this.el.append( _this.RightEditor.el ); var child_3 = new Xcls_Box11( _this ); child_3.ref(); - child_3.ref(); this.el.append ( child_3.el ); } @@ -409,11 +407,9 @@ public class Editor : Object this.el.append( _this.save_button.el ); var child_2 = new Xcls_Label3( _this ); child_2.ref(); - child_2.ref(); this.el.append( child_2.el ); var child_3 = new Xcls_Scale4( _this ); child_3.ref(); - child_3.ref(); this.el.append( child_3.el ); new Xcls_close_btn( _this ); this.el.append( _this.close_btn.el ); @@ -648,7 +644,6 @@ public class Editor : Object this.el.buffer = _this.buffer.el; var child_2 = new Xcls_EventControllerKey10( _this ); child_2.ref(); - child_2.ref(); this.el.add_controller( child_2.el ); // init method @@ -1179,7 +1174,6 @@ public class Editor : Object this.el.append( _this.backBtn.el ); var child_5 = new Xcls_MenuButton17( _this ); child_5.ref(); - child_5.ref(); this.el.append( child_5.el ); } @@ -1210,7 +1204,6 @@ public class Editor : Object this.el.search_delay = 3; var child_1 = new Xcls_EventControllerKey13( _this ); child_1.ref(); - child_1.ref(); this.el.add_controller( child_1.el ); //listeners diff --git a/src/JsRender/NodeToVala.vala b/src/JsRender/NodeToVala.vala index bd74fe123..c80fd3691 100644 --- a/src/JsRender/NodeToVala.vala +++ b/src/JsRender/NodeToVala.vala @@ -392,19 +392,16 @@ public abstract class JsRender.NodeToVala : NodeWriter { // this is only needed if it does not have an ID??? var childname = this.addPropSet(child, child.has("id") ? child.get_prop("id").val : "") ; - if (!child.has("id")) { - // must ref new objects.. - this.addLine("%s%s.ref();".printf(ipad, childname)); - } + if (!child.has("id") && this.this_el == "this.el.") { + this.addLine(this.ipad + childname +".ref();"); + } if (child.has("* prop")) { // fixme special packing!??!?! if (child.get_prop("* prop").val.contains("[]")) { - // currently these 'child props - // used for label[] on Notebook - // used for button[] on Dialog? - // columns[] ? + // currently this is not used? + // and it will not add ref.. this.packChild(child, childname, 0, 0, child.get_prop("* prop").val); /// fixme - this is a bit speciall... continue; @@ -420,9 +417,7 @@ public abstract class JsRender.NodeToVala : NodeWriter { continue; } - if (!child.has("id") && this.this_el == "this.el.") { - this.addLine(this.ipad + childname +".ref();"); - } + this.packChild(child, childname, cols, colpos); if (child.has("colspan")) { -- 2.39.2