fix: allow reloadable objects inside of proxy windows

This commit is contained in:
outfoxxed committed 2024-02-16 23:47:55 -08:00
1 parent d967d56d3b
commit 5e58f0ba9f
1 file changed
+10 -1
+10 -1
View File
@@ -10,6 +10,7 @@
#include <qwindow.h>
#include "region.hpp"
#include "reload.hpp"
ProxyWindowBase::~ProxyWindowBase() {
if (this->window != nullptr) {
@@ -28,9 +29,17 @@ void ProxyWindowBase::onReload(QObject* oldInstance) {
this->setupWindow();
for (auto* child: this->pendingChildren) {
Reloadable::reloadRecursive(child, oldInstance);
}
auto backer = this->dataBacker();
for (auto* child: this->pendingChildren) {
backer.append(&backer, child);
// Reparent QQuickItems to the content element,
// while leaving QObjects parented to the proxy window.
if (qobject_cast<QQuickItem*>(child) != nullptr) {
backer.append(&backer, child);
}
}
this->pendingChildren.clear();