aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorArisotura <thetotalworm@gmail.com>2020-05-22 13:54:29 +0200
committerArisotura <thetotalworm@gmail.com>2020-05-22 13:54:29 +0200
commitf69f3fcb7a6f5eabe07de3db58409aee036348ea (patch)
treea49f8a9c2ce2a07a79c76233f67cc0393cd4dac0 /src
parentffd9c61bf79852f2364166c4770719146500f4b9 (diff)
* safer window update
* only do auto screen sizing if needed
Diffstat (limited to 'src')
-rw-r--r--src/frontend/qt_sdl/main.cpp9
-rw-r--r--src/frontend/qt_sdl/main.h1
2 files changed, 7 insertions, 3 deletions
diff --git a/src/frontend/qt_sdl/main.cpp b/src/frontend/qt_sdl/main.cpp
index 36a3b8e..922206f 100644
--- a/src/frontend/qt_sdl/main.cpp
+++ b/src/frontend/qt_sdl/main.cpp
@@ -247,6 +247,8 @@ EmuThread::EmuThread(QObject* parent) : QThread(parent)
EmuRunning = 2;
RunningSomething = false;
+ connect(this, SIGNAL(windowUpdate()), mainWindow, SLOT(update()));
+ //connect(this, SIGNAL(windowUpdate()), mainWindow, SLOT(repaint()));
connect(this, SIGNAL(windowTitleChange(QString)), mainWindow, SLOT(onTitleUpdate(QString)));
connect(this, SIGNAL(windowEmuStart()), mainWindow, SLOT(onEmuStart()));
connect(this, SIGNAL(windowEmuStop()), mainWindow, SLOT(onEmuStop()));
@@ -338,6 +340,7 @@ void EmuThread::run()
}*/
// auto screen layout
+ if (Config::ScreenSizing == 3)
{
mainScreenPos[2] = mainScreenPos[1];
mainScreenPos[1] = mainScreenPos[0];
@@ -381,7 +384,7 @@ void EmuThread::run()
uiGLEnd(GLContext);
}
uiAreaQueueRedrawAll(MainDrawArea);*/
- mainWindow->update();
+ emit windowUpdate();
bool fastforward = Input::HotkeyDown(HK_FastForward);
@@ -461,7 +464,7 @@ void EmuThread::run()
uiGLEnd(GLContext);
}
uiAreaQueueRedrawAll(MainDrawArea);*/
- mainWindow->update();
+ emit windowUpdate();
//if (Screen_UseGL) uiGLMakeContextCurrent(NULL);
@@ -630,7 +633,7 @@ void MainWindowPanel::paintEvent(QPaintEvent* event)
painter.setRenderHint(QPainter::SmoothPixmapTransform, Config::ScreenFilter!=0);
- QRect screenrc = QRect(0, 0, 256, 192);
+ QRect screenrc(0, 0, 256, 192);
painter.setTransform(screenTrans[0]);
painter.drawImage(screenrc, *screen[0]);
diff --git a/src/frontend/qt_sdl/main.h b/src/frontend/qt_sdl/main.h
index 2d14eea..c0dc465 100644
--- a/src/frontend/qt_sdl/main.h
+++ b/src/frontend/qt_sdl/main.h
@@ -45,6 +45,7 @@ public:
bool emuIsRunning();
signals:
+ void windowUpdate();
void windowTitleChange(QString title);
void windowEmuStart();