DolphinQt2/Host: cleanup

This commit is contained in:
Michael Maltese
2017-07-13 12:58:26 -07:00
parent 8e55374662
commit ebeac18472
2 changed files with 8 additions and 20 deletions

View File

@ -4,55 +4,46 @@
#include <QAbstractEventDispatcher> #include <QAbstractEventDispatcher>
#include <QApplication> #include <QApplication>
#include <QMutexLocker>
#include "Common/Common.h" #include "Common/Common.h"
#include "Core/Host.h" #include "Core/Host.h"
#include "DolphinQt2/Host.h" #include "DolphinQt2/Host.h"
#include "DolphinQt2/MainWindow.h"
Host* Host::m_instance = nullptr; Host::Host() = default;
Host* Host::GetInstance() Host* Host::GetInstance()
{ {
if (m_instance == nullptr) static Host* s_instance = new Host();
m_instance = new Host(); return s_instance;
return m_instance;
} }
void* Host::GetRenderHandle() void* Host::GetRenderHandle()
{ {
QMutexLocker locker(&m_lock);
return m_render_handle; return m_render_handle;
} }
void Host::SetRenderHandle(void* handle) void Host::SetRenderHandle(void* handle)
{ {
QMutexLocker locker(&m_lock);
m_render_handle = handle; m_render_handle = handle;
} }
bool Host::GetRenderFocus() bool Host::GetRenderFocus()
{ {
QMutexLocker locker(&m_lock);
return m_render_focus; return m_render_focus;
} }
void Host::SetRenderFocus(bool focus) void Host::SetRenderFocus(bool focus)
{ {
QMutexLocker locker(&m_lock);
m_render_focus = focus; m_render_focus = focus;
} }
bool Host::GetRenderFullscreen() bool Host::GetRenderFullscreen()
{ {
QMutexLocker locker(&m_lock);
return m_render_fullscreen; return m_render_fullscreen;
} }
void Host::SetRenderFullscreen(bool fullscreen) void Host::SetRenderFullscreen(bool fullscreen)
{ {
QMutexLocker locker(&m_lock);
m_render_fullscreen = fullscreen; m_render_fullscreen = fullscreen;
} }

View File

@ -4,9 +4,8 @@
#pragma once #pragma once
#include <QMutex>
#include <QObject> #include <QObject>
#include <QSize> #include <atomic>
// Singleton that talks to the Core via the interface defined in Core/Host.h. // 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, // Because Host_* calls might come from different threads than the MainWindow,
@ -35,11 +34,9 @@ signals:
void RequestRenderSize(int w, int h); void RequestRenderSize(int w, int h);
private: private:
Host() {} Host();
static Host* m_instance;
QMutex m_lock;
void* m_render_handle; std::atomic<void*> m_render_handle;
bool m_render_focus; std::atomic<bool> m_render_focus;
bool m_render_fullscreen; std::atomic<bool> m_render_fullscreen;
}; };