summaryrefslogtreecommitdiffstats
path: root/source/l/qt/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-she...
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2013-11-04 17:08:47 +0000
committer Eric Hameleers <alien@slackware.com>2018-05-31 22:57:36 +0200
commit76fc4757ac91ac7947a01fb7b53dddf9a78a01d1 (patch)
tree9b98e6e193c7870cb27ac861394c1c4592850922 /source/l/qt/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch
parent9664bee729d487bcc0a0bc35859f8e13d5421c75 (diff)
downloadcurrent-76fc4757ac91ac7947a01fb7b53dddf9a78a01d1.tar.gz
current-76fc4757ac91ac7947a01fb7b53dddf9a78a01d1.tar.xz
Slackware 14.1slackware-14.1
Mon Nov 4 17:08:47 UTC 2013 Slackware 14.1 x86_64 stable is released! It's been another interesting release cycle here at Slackware bringing new features like support for UEFI machines, updated compilers and development tools, the switch from MySQL to MariaDB, and many more improvements throughout the system. Thanks to the team, the upstream developers, the dedicated Slackware community, and everyone else who pitched in to help make this release a reality. The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. Please consider supporting the Slackware project by picking up a copy from store.slackware.com. We're taking pre-orders now, and offer a discount if you sign up for a subscription. Have fun! :-)
Diffstat (limited to 'source/l/qt/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch')
-rw-r--r--source/l/qt/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch97
1 files changed, 0 insertions, 97 deletions
diff --git a/source/l/qt/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch b/source/l/qt/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch
deleted file mode 100644
index 4d9834a8d..000000000
--- a/source/l/qt/QTBUG-21900_Buttons_in_Qt_applications_not_clickable_when_run_under_gnome-shell.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From a91e9dd202640598d8dec091c67ec94536390e7f Mon Sep 17 00:00:00 2001
-From: "Owen W. Taylor" <otaylor@fishsoup.net>
-Date: Mon, 17 Oct 2011 17:27:43 -0400
-Subject: [PATCH] Fix logic for figuring out what ConfigureNotify positions can be trusted
-
-When reading ahead in the queue for ConfigureNotify events, it's necessary
-to look for intermediate ReparentNotify events as well, since they will
-determine whether the position in the event can be trusted or not.
-
-Bug: https://bugreports.qt.nokia.com/browse/QTBUG-21900
----
- src/gui/kernel/qapplication_x11.cpp | 47 +++++++++++++++++++++++++++++++-----
- 1 file changed, 41 insertions(+), 6 deletions(-)
-
---- a/src/gui/kernel/qapplication_x11.cpp
-+++ b/src/gui/kernel/qapplication_x11.cpp
-@@ -816,6 +816,27 @@ static Bool qt_sync_request_scanner(Disp
- #endif
- #endif // QT_NO_XSYNC
-
-+struct qt_configure_event_data
-+{
-+ WId window;
-+ WId parent;
-+};
-+
-+static Bool qt_configure_event_scanner(Display*, XEvent *event, XPointer arg)
-+{
-+ qt_configure_event_data *data =
-+ reinterpret_cast<qt_configure_event_data*>(arg);
-+ if (event->type == ConfigureNotify &&
-+ event->xconfigure.window == data->window) {
-+ return true;
-+ } else if (event->type == ReparentNotify &&
-+ event->xreparent.window == data->window) {
-+ data->parent = event->xreparent.parent;
-+ }
-+
-+ return false;
-+}
-+
- static void qt_x11_create_intern_atoms()
- {
- const char *names[QX11Data::NAtoms];
-@@ -5281,8 +5302,11 @@ bool QETWidget::translateConfigEvent(con
- if (d->extra->compress_events) {
- // ConfigureNotify compression for faster opaque resizing
- XEvent otherEvent;
-- while (XCheckTypedWindowEvent(X11->display, internalWinId(), ConfigureNotify,
-- &otherEvent)) {
-+ qt_configure_event_data configureData;
-+ configureData.window = internalWinId();
-+ configureData.parent = d->topData()->parentWinId;
-+ while (XCheckIfEvent(X11->display, &otherEvent,
-+ &qt_configure_event_scanner, (XPointer)&configureData)) {
- if (qt_x11EventFilter(&otherEvent))
- continue;
-
-@@ -5295,13 +5319,19 @@ bool QETWidget::translateConfigEvent(con
- newSize.setWidth(otherEvent.xconfigure.width);
- newSize.setHeight(otherEvent.xconfigure.height);
-
-+ trust = isVisible()
-+ && (configureData.parent == XNone ||
-+ configureData.parent == QX11Info::appRootWindow());
-+
- if (otherEvent.xconfigure.send_event || trust) {
- newCPos.rx() = otherEvent.xconfigure.x +
- otherEvent.xconfigure.border_width;
- newCPos.ry() = otherEvent.xconfigure.y +
- otherEvent.xconfigure.border_width;
- isCPos = true;
-- }
-+ } else {
-+ isCPos = false;
-+ }
- }
- #ifndef QT_NO_XSYNC
- qt_sync_request_event_data sync_event;
-@@ -5314,9 +5344,14 @@ bool QETWidget::translateConfigEvent(con
- }
-
- if (!isCPos) {
-- // we didn't get an updated position of the toplevel.
-- // either we haven't moved or there is a bug in the window manager.
-- // anyway, let's query the position to be certain.
-+ // If the last configure event didn't have a trustable position,
-+ // it's necessary to query, see ICCCM 4.24:
-+ //
-+ // Any real ConfigureNotify event on a top-level window implies
-+ // that the window position on the root may have changed, even
-+ // though the event reports that the window position in its
-+ // parent is unchanged because the window may have been reparented.
-+
- int x, y;
- Window child;
- XTranslateCoordinates(X11->display, internalWinId(),