summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/citra_qt/bootmanager.cpp11
-rw-r--r--src/citra_qt/bootmanager.h7
2 files changed, 14 insertions, 4 deletions
diff --git a/src/citra_qt/bootmanager.cpp b/src/citra_qt/bootmanager.cpp
index bb9b204f3..b19b367e1 100644
--- a/src/citra_qt/bootmanager.cpp
+++ b/src/citra_qt/bootmanager.cpp
@@ -19,8 +19,8 @@
19#include "core/settings.h" 19#include "core/settings.h"
20#include "core/system.h" 20#include "core/system.h"
21 21
22#include "video_core/video_core.h"
23#include "video_core/debug_utils/debug_utils.h" 22#include "video_core/debug_utils/debug_utils.h"
23#include "video_core/video_core.h"
24 24
25#define APP_NAME "citra" 25#define APP_NAME "citra"
26#define APP_VERSION "0.1-" VERSION 26#define APP_VERSION "0.1-" VERSION
@@ -86,6 +86,9 @@ public:
86 } 86 }
87 87
88 void paintEvent(QPaintEvent* ev) override { 88 void paintEvent(QPaintEvent* ev) override {
89 if (do_painting) {
90 QPainter painter(this);
91 }
89 } 92 }
90 93
91 void resizeEvent(QResizeEvent* ev) override { 94 void resizeEvent(QResizeEvent* ev) override {
@@ -93,8 +96,12 @@ public:
93 parent->OnFramebufferSizeChanged(); 96 parent->OnFramebufferSizeChanged();
94 } 97 }
95 98
99 void DisablePainting() { do_painting = false; }
100 void EnablePainting() { do_painting = true; }
101
96private: 102private:
97 GRenderWindow* parent; 103 GRenderWindow* parent;
104 bool do_painting;
98}; 105};
99 106
100GRenderWindow::GRenderWindow(QWidget* parent, EmuThread* emu_thread) : 107GRenderWindow::GRenderWindow(QWidget* parent, EmuThread* emu_thread) :
@@ -270,10 +277,12 @@ void GRenderWindow::OnMinimalClientAreaChangeRequest(const std::pair<unsigned,un
270 277
271void GRenderWindow::OnEmulationStarting(EmuThread* emu_thread) { 278void GRenderWindow::OnEmulationStarting(EmuThread* emu_thread) {
272 this->emu_thread = emu_thread; 279 this->emu_thread = emu_thread;
280 child->DisablePainting();
273} 281}
274 282
275void GRenderWindow::OnEmulationStopping() { 283void GRenderWindow::OnEmulationStopping() {
276 emu_thread = nullptr; 284 emu_thread = nullptr;
285 child->EnablePainting();
277} 286}
278 287
279void GRenderWindow::showEvent(QShowEvent * event) { 288void GRenderWindow::showEvent(QShowEvent * event) {
diff --git a/src/citra_qt/bootmanager.h b/src/citra_qt/bootmanager.h
index 2fd611367..0a9d263b8 100644
--- a/src/citra_qt/bootmanager.h
+++ b/src/citra_qt/bootmanager.h
@@ -12,11 +12,12 @@
12#include "common/emu_window.h" 12#include "common/emu_window.h"
13#include "common/thread.h" 13#include "common/thread.h"
14 14
15class QScreen;
16class QKeyEvent; 15class QKeyEvent;
16class QScreen;
17 17
18class GRenderWindow; 18class GGLWidgetInternal;
19class GMainWindow; 19class GMainWindow;
20class GRenderWindow;
20 21
21class EmuThread : public QThread 22class EmuThread : public QThread
22{ 23{
@@ -137,7 +138,7 @@ signals:
137private: 138private:
138 void OnMinimalClientAreaChangeRequest(const std::pair<unsigned,unsigned>& minimal_size) override; 139 void OnMinimalClientAreaChangeRequest(const std::pair<unsigned,unsigned>& minimal_size) override;
139 140
140 QGLWidget* child; 141 GGLWidgetInternal* child;
141 142
142 QByteArray geometry; 143 QByteArray geometry;
143 144