diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2018-10-30 16:47:09 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2018-10-30 18:46:02 +0100 |
commit | c52c0909344d7ca52c08dcfbc8eb12e2f521620f (patch) | |
tree | d9e1a5e2567f5d36412429ee7e0cbcbae7530385 /dev-qt/qtgui/files | |
parent | sys-apps/less: Revbump to use pcre2 instead of pcre. (diff) | |
download | gentoo-c52c0909344d7ca52c08dcfbc8eb12e2f521620f.tar.gz gentoo-c52c0909344d7ca52c08dcfbc8eb12e2f521620f.tar.bz2 gentoo-c52c0909344d7ca52c08dcfbc8eb12e2f521620f.zip |
dev-qt/qtgui: xcb: Don't get initial screen rotation
Qt-Bug: https://bugreports.qt.io/browse/QTBUG-70760
KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=399053
Closes: https://bugs.gentoo.org/668994
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11
Diffstat (limited to 'dev-qt/qtgui/files')
-rw-r--r-- | dev-qt/qtgui/files/qtgui-5.11.2-qapplication-block.patch | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/dev-qt/qtgui/files/qtgui-5.11.2-qapplication-block.patch b/dev-qt/qtgui/files/qtgui-5.11.2-qapplication-block.patch new file mode 100644 index 000000000000..115b42b8e93e --- /dev/null +++ b/dev-qt/qtgui/files/qtgui-5.11.2-qapplication-block.patch @@ -0,0 +1,53 @@ +From d4e937a6280f34bc1cce8c8cea3806a741312fbc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?B=C5=82a=C5=BCej=20Szczygie=C5=82?= <spaz16@wp.pl> +Date: Tue, 25 Sep 2018 18:45:10 +0200 +Subject: xcb: Don't get initial screen rotation + +"xcb_randr_get_screen_info" can be slow and in some configurations can +cause short mouse cursor freezes (which will happen on Qt application +startup). + +Initial screen rotation was used only to not handle possible redundant +screen change event. + +Fixes: QTBUG-70760 +Change-Id: I9f01325a045d2c82c4dd2fce91a18a34e54a4bcd +Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> +--- + src/plugins/platforms/xcb/qxcbscreen.cpp | 7 ------- + src/plugins/platforms/xcb/qxcbscreen.h | 2 +- + 2 files changed, 1 insertion(+), 8 deletions(-) + +diff --git a/src/plugins/platforms/xcb/qxcbscreen.cpp b/src/plugins/platforms/xcb/qxcbscreen.cpp +index 7f2793b2b7..a696e2a311 100644 +--- a/src/plugins/platforms/xcb/qxcbscreen.cpp ++++ b/src/plugins/platforms/xcb/qxcbscreen.cpp +@@ -118,13 +118,6 @@ QXcbVirtualDesktop::QXcbVirtualDesktop(QXcbConnection *connection, xcb_screen_t + + xcb_depth_next(&depth_iterator); + } +- +- if (connection->hasXRandr()) { +- xcb_connection_t *conn = connection->xcb_connection(); +- auto screen_info = Q_XCB_REPLY(xcb_randr_get_screen_info, conn, screen->root); +- if (screen_info) +- m_rotation = screen_info->rotation; +- } + } + + QXcbVirtualDesktop::~QXcbVirtualDesktop() +diff --git a/src/plugins/platforms/xcb/qxcbscreen.h b/src/plugins/platforms/xcb/qxcbscreen.h +index 6438669e7a..792aca4b06 100644 +--- a/src/plugins/platforms/xcb/qxcbscreen.h ++++ b/src/plugins/platforms/xcb/qxcbscreen.h +@@ -220,7 +220,7 @@ private: + xcb_randr_crtc_t m_crtc; + xcb_randr_mode_t m_mode = XCB_NONE; + bool m_primary = false; +- uint8_t m_rotation = XCB_RANDR_ROTATION_ROTATE_0; ++ uint8_t m_rotation = 0; + + QString m_outputName; + QSizeF m_outputSizeMillimeters; +-- +cgit v1.2.1 |