summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/citra_qt/bootmanager.cpp13
-rw-r--r--src/citra_qt/bootmanager.hxx5
2 files changed, 5 insertions, 13 deletions
diff --git a/src/citra_qt/bootmanager.cpp b/src/citra_qt/bootmanager.cpp
index 2407f3a3a..573060d30 100644
--- a/src/citra_qt/bootmanager.cpp
+++ b/src/citra_qt/bootmanager.cpp
@@ -33,7 +33,7 @@ void EmuThread::SetFilename(std::string filename)
void EmuThread::run()
{
stop_run = false;
- while (true)
+ while (!stop_run)
{
for (int tight_loop = 0; tight_loop < 10000; ++tight_loop)
{
@@ -49,9 +49,6 @@ void EmuThread::run()
}
}
}
- QMutexLocker lock(&mutex);
- if (stop_run)
- break;
}
render_window->moveContext();
@@ -65,11 +62,7 @@ void EmuThread::Stop()
INFO_LOG(MASTER_LOG, "EmuThread::Stop called while emu thread wasn't running, returning...");
return;
}
-
- {
- QMutexLocker lock(&mutex);
- stop_run = true;
- }
+ stop_run = true;
//core::g_state = core::SYS_DIE;
@@ -94,7 +87,7 @@ void EmuThread::Stop()
class GGLWidgetInternal : public QGLWidget
{
public:
- GGLWidgetInternal(QGLFormat fmt, GRenderWindow* parent) : QGLWidget(parent)
+ GGLWidgetInternal(QGLFormat fmt, GRenderWindow* parent) : QGLWidget(fmt, parent)
{
parent_ = parent;
}
diff --git a/src/citra_qt/bootmanager.hxx b/src/citra_qt/bootmanager.hxx
index 4c3e2f0a4..51cb781e9 100644
--- a/src/citra_qt/bootmanager.hxx
+++ b/src/citra_qt/bootmanager.hxx
@@ -1,6 +1,6 @@
-#include <QMutex>
#include <QThread>
#include <QGLWidget>
+#include <atomic>
#include "common/common.h"
#include "common/emu_window.h"
@@ -67,8 +67,7 @@ private:
bool exec_cpu_step;
bool cpu_running;
- bool stop_run;
- QMutex mutex;
+ std::atomic<bool> stop_run;
GRenderWindow* render_window;