diff --git a/src/core/reload.cpp b/src/core/reload.cpp index c62706ab..10627c0a 100644 --- a/src/core/reload.cpp +++ b/src/core/reload.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include "generation.hpp" @@ -12,8 +13,10 @@ void Reloadable::componentComplete() { if (this->engineGeneration != nullptr) { // When called this way there is no chance a reload will have old data, // but this will at least help prevent weird behaviors due to never getting a reload. - if (this->engineGeneration->reloadComplete) this->reload(); - else { + if (this->engineGeneration->reloadComplete) { + // Delayed due to Component.onCompleted running after QQmlParserStatus::componentComplete. + QTimer::singleShot(0, this, &Reloadable::onReloadFinished); + } else { QObject::connect( this->engineGeneration, &EngineGeneration::reloadFinished,