summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/DolphinQt2/Host.cpp15
-rw-r--r--Source/Core/DolphinQt2/Host.h13
2 files changed, 8 insertions, 20 deletions
diff --git a/Source/Core/DolphinQt2/Host.cpp b/Source/Core/DolphinQt2/Host.cpp
index fdd3b5aecd..21faff73c8 100644
--- a/Source/Core/DolphinQt2/Host.cpp
+++ b/Source/Core/DolphinQt2/Host.cpp
@@ -4,55 +4,46 @@
#include <QAbstractEventDispatcher>
#include <QApplication>
-#include <QMutexLocker>
#include "Common/Common.h"
#include "Core/Host.h"
#include "DolphinQt2/Host.h"
-#include "DolphinQt2/MainWindow.h"
-Host* Host::m_instance = nullptr;
+Host::Host() = default;
Host* Host::GetInstance()
{
- if (m_instance == nullptr)
- m_instance = new Host();
- return m_instance;
+ static Host* s_instance = new Host();
+ return s_instance;
}
void* Host::GetRenderHandle()
{
- QMutexLocker locker(&m_lock);
return m_render_handle;
}
void Host::SetRenderHandle(void* handle)
{
- QMutexLocker locker(&m_lock);
m_render_handle = handle;
}
bool Host::GetRenderFocus()
{
- QMutexLocker locker(&m_lock);
return m_render_focus;
}
void Host::SetRenderFocus(bool focus)
{
- QMutexLocker locker(&m_lock);
m_render_focus = focus;
}
bool Host::GetRenderFullscreen()
{
- QMutexLocker locker(&m_lock);
return m_render_fullscreen;
}
void Host::SetRenderFullscreen(bool fullscreen)
{
- QMutexLocker locker(&m_lock);
m_render_fullscreen = fullscreen;
}
diff --git a/Source/Core/DolphinQt2/Host.h b/Source/Core/DolphinQt2/Host.h
index 325e682384..d779c84b4b 100644
--- a/Source/Core/DolphinQt2/Host.h
+++ b/Source/Core/DolphinQt2/Host.h
@@ -4,9 +4,8 @@
#pragma once
-#include <QMutex>
#include <QObject>
-#include <QSize>
+#include <atomic>
// Singleton that talks to the Core via the interface defined in Core/Host.h.
// Because Host_* calls might come from different threads than the MainWindow,
@@ -35,11 +34,9 @@ signals:
void RequestRenderSize(int w, int h);
private:
- Host() {}
- static Host* m_instance;
- QMutex m_lock;
+ Host();
- void* m_render_handle;
- bool m_render_focus;
- bool m_render_fullscreen;
+ std::atomic<void*> m_render_handle;
+ std::atomic<bool> m_render_focus;
+ std::atomic<bool> m_render_fullscreen;
};