Просмотр исходного кода

Merge pull request #1171 from LittleWhite-tb/qt-no-refresh-nologo

Fix refresh issue (only)
bunnei 10 лет назад
Родитель
Сommit
76baf84763
2 измененных файлов с 14 добавлено и 4 удалено
  1. 10 1
      src/citra_qt/bootmanager.cpp
  2. 4 3
      src/citra_qt/bootmanager.h

+ 10 - 1
src/citra_qt/bootmanager.cpp

@@ -19,8 +19,8 @@
 #include "core/settings.h"
 #include "core/system.h"
 
-#include "video_core/video_core.h"
 #include "video_core/debug_utils/debug_utils.h"
+#include "video_core/video_core.h"
 
 #define APP_NAME        "citra"
 #define APP_VERSION     "0.1-" VERSION
@@ -86,6 +86,9 @@ public:
     }
 
     void paintEvent(QPaintEvent* ev) override {
+        if (do_painting) {
+            QPainter painter(this);
+        }
     }
 
     void resizeEvent(QResizeEvent* ev) override {
@@ -93,8 +96,12 @@ public:
         parent->OnFramebufferSizeChanged();
     }
 
+    void DisablePainting() { do_painting = false; }
+    void EnablePainting() { do_painting = true; }
+
 private:
     GRenderWindow* parent;
+    bool do_painting;
 };
 
 GRenderWindow::GRenderWindow(QWidget* parent, EmuThread* emu_thread) :
@@ -270,10 +277,12 @@ void GRenderWindow::OnMinimalClientAreaChangeRequest(const std::pair<unsigned,un
 
 void GRenderWindow::OnEmulationStarting(EmuThread* emu_thread) {
     this->emu_thread = emu_thread;
+    child->DisablePainting();
 }
 
 void GRenderWindow::OnEmulationStopping() {
     emu_thread = nullptr;
+    child->EnablePainting();
 }
 
 void GRenderWindow::showEvent(QShowEvent * event) {

+ 4 - 3
src/citra_qt/bootmanager.h

@@ -12,11 +12,12 @@
 #include "common/emu_window.h"
 #include "common/thread.h"
 
-class QScreen;
 class QKeyEvent;
+class QScreen;
 
-class GRenderWindow;
+class GGLWidgetInternal;
 class GMainWindow;
+class GRenderWindow;
 
 class EmuThread : public QThread
 {
@@ -137,7 +138,7 @@ signals:
 private:
     void OnMinimalClientAreaChangeRequest(const std::pair<unsigned,unsigned>& minimal_size) override;
 
-    QGLWidget* child;
+    GGLWidgetInternal* child;
 
     QByteArray geometry;