diff options
-rw-r--r-- | qt-wayland-scale-hack.patch | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/qt-wayland-scale-hack.patch b/qt-wayland-scale-hack.patch deleted file mode 100644 index a874035..0000000 --- a/qt-wayland-scale-hack.patch +++ /dev/null @@ -1,80 +0,0 @@ -diff --git a/src/frontend/qt_sdl/Screen.cpp b/src/frontend/qt_sdl/Screen.cpp -index d8af6624..019ce246 100644 ---- a/src/frontend/qt_sdl/Screen.cpp -+++ b/src/frontend/qt_sdl/Screen.cpp -@@ -30,6 +30,7 @@ - #include <QPaintEvent> - #include <QPainter> - #include <QDebug> -+#include <QApplication> - #ifndef _WIN32 - #ifndef APPLE - #include <qpa/qplatformnativeinterface.h> -@@ -596,23 +597,20 @@ void ScreenPanelGL::drawScreenGL() - glContext->SwapBuffers(); - } - --qreal ScreenPanelGL::devicePixelRatioFromScreen() const -+qreal ScreenPanelGL::devicePixelRatioFromWindow() const - { -- const QScreen* screen_for_ratio = window()->windowHandle()->screen(); -- if (!screen_for_ratio) -- screen_for_ratio = QGuiApplication::primaryScreen(); -- -- return screen_for_ratio ? screen_for_ratio->devicePixelRatio() : static_cast<qreal>(1); -+ QWindow* window = windowHandle(); -+ return window->devicePixelRatio(); - } - - int ScreenPanelGL::scaledWindowWidth() const - { -- return std::max(static_cast<int>(std::ceil(static_cast<qreal>(width()) * devicePixelRatioFromScreen())), 1); -+ return std::max(static_cast<int>(std::ceil(static_cast<qreal>(width()) * devicePixelRatioFromWindow())), 1); - } - - int ScreenPanelGL::scaledWindowHeight() const - { -- return std::max(static_cast<int>(std::ceil(static_cast<qreal>(height()) * devicePixelRatioFromScreen())), 1); -+ return std::max(static_cast<int>(std::ceil(static_cast<qreal>(height()) * devicePixelRatioFromWindow())), 1); - } - - std::optional<WindowInfo> ScreenPanelGL::getWindowInfo() -@@ -644,6 +642,7 @@ std::optional<WindowInfo> ScreenPanelGL::getWindowInfo() - - wi.display_connection = pni->nativeResourceForWindow("display", handle); - wi.window_handle = pni->nativeResourceForWindow("surface", handle); -+ qApp->processEvents(); - } - else - { -@@ -654,7 +653,7 @@ std::optional<WindowInfo> ScreenPanelGL::getWindowInfo() - - wi.surface_width = static_cast<u32>(scaledWindowWidth()); - wi.surface_height = static_cast<u32>(scaledWindowHeight()); -- wi.surface_scale = static_cast<float>(devicePixelRatioFromScreen()); -+ wi.surface_scale = static_cast<float>(devicePixelRatioFromWindow()); - - return wi; - } -diff --git a/src/frontend/qt_sdl/Screen.h b/src/frontend/qt_sdl/Screen.h -index b11df29b..79889a3f 100644 ---- a/src/frontend/qt_sdl/Screen.h -+++ b/src/frontend/qt_sdl/Screen.h -@@ -23,6 +23,8 @@ - #include "FrontendUtil.h" - #include "duckstation/gl/context.h" - -+#include <optional> -+ - #include <QWidget> - #include <QWindow> - #include <QMainWindow> -@@ -133,7 +135,7 @@ public: - void transferLayout(); - protected: - -- qreal devicePixelRatioFromScreen() const; -+ qreal devicePixelRatioFromWindow() const; - int scaledWindowWidth() const; - int scaledWindowHeight() const; - |