summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/gjs/src/variable.ts1
-rw-r--r--core/lua/astal/variable.lua3
-rw-r--r--core/src/widget/box.vala7
-rw-r--r--core/src/widget/stack.vala7
4 files changed, 8 insertions, 10 deletions
diff --git a/core/gjs/src/variable.ts b/core/gjs/src/variable.ts
index 84f8cc5..8739ef6 100644
--- a/core/gjs/src/variable.ts
+++ b/core/gjs/src/variable.ts
@@ -101,7 +101,6 @@ class VariableWrapper<T> extends Function {
drop() {
this.variable.emit("dropped")
- idle(() => this.variable.run_dispose())
}
onDropped(callback: () => void) {
diff --git a/core/lua/astal/variable.lua b/core/lua/astal/variable.lua
index da2e894..377b448 100644
--- a/core/lua/astal/variable.lua
+++ b/core/lua/astal/variable.lua
@@ -124,9 +124,6 @@ end
function Variable:drop()
self.variable.emit_dropped()
- Astal.Time.idle(GObject.Closure(function()
- self.variable.run_dispose()
- end))
end
---@param callback function
diff --git a/core/src/widget/box.vala b/core/src/widget/box.vala
index 0e069e0..0008fd4 100644
--- a/core/src/widget/box.vala
+++ b/core/src/widget/box.vala
@@ -42,10 +42,11 @@ public class Box : Gtk.Box {
private void _set_children(List<weak Gtk.Widget> arr) {
foreach(var child in get_children()) {
- remove(child);
-
- if (!no_implicit_destroy && arr.find(child).length() == 0)
+ if (!no_implicit_destroy && arr.find(child).length() == 0) {
child.destroy();
+ } else {
+ remove(child);
+ }
}
foreach(var child in arr)
diff --git a/core/src/widget/stack.vala b/core/src/widget/stack.vala
index 020e716..00adf7f 100644
--- a/core/src/widget/stack.vala
+++ b/core/src/widget/stack.vala
@@ -16,10 +16,11 @@ public class Astal.Stack : Gtk.Stack {
private void _set_children(List<weak Gtk.Widget> arr) {
foreach(var child in get_children()) {
- remove(child);
-
- if (!no_implicit_destroy && arr.find(child).length() == 0)
+ if (!no_implicit_destroy && arr.find(child).length() == 0) {
child.destroy();
+ } else {
+ remove(child);
+ }
}
var i = 0;