From 58f1cb21e5e5f3f82950cdae6f2fca793a1c2505 Mon Sep 17 00:00:00 2001
From: EndrII <EndrIIMail@gmail.com>
Date: Mon, 20 Jan 2025 18:22:33 +0100
Subject: [PATCH] fix async render loop

---
 src/public/asyncrenderloop.cpp | 5 ++++-
 src/public/asyncrenderloop.h   | 1 +
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/public/asyncrenderloop.cpp b/src/public/asyncrenderloop.cpp
index d8dd2b9..43f14e3 100644
--- a/src/public/asyncrenderloop.cpp
+++ b/src/public/asyncrenderloop.cpp
@@ -15,6 +15,10 @@ AsyncRenderLoop::AsyncRenderLoop(QThread *thread, QObject *ptr): Async(thread, p
 
 }
 
+AsyncRenderLoop::~AsyncRenderLoop() {
+    stop();
+}
+
 void QH::AsyncRenderLoop::run() {
     m_run = true;
     asyncLauncher([this](){
@@ -25,7 +29,6 @@ void QH::AsyncRenderLoop::run() {
 
 void QH::AsyncRenderLoop::stop() {
     m_run = false;
-    thread()->exit();
     thread()->wait();
 }
 
diff --git a/src/public/asyncrenderloop.h b/src/public/asyncrenderloop.h
index cf0e767..ea3f210 100644
--- a/src/public/asyncrenderloop.h
+++ b/src/public/asyncrenderloop.h
@@ -41,6 +41,7 @@ class HEARTSHARED_EXPORT AsyncRenderLoop: public Async
     Q_OBJECT
 public:
     AsyncRenderLoop(QThread* thread, QObject* ptr = nullptr);
+    ~AsyncRenderLoop();
 
     /**
      * @brief run This method starts the render loop.