summaryrefslogtreecommitdiffstats
path: root/opensuse/core/qt3/fix-xinerama-dialog-placement.diff
diff options
context:
space:
mode:
Diffstat (limited to 'opensuse/core/qt3/fix-xinerama-dialog-placement.diff')
-rw-r--r--opensuse/core/qt3/fix-xinerama-dialog-placement.diff13
1 files changed, 13 insertions, 0 deletions
diff --git a/opensuse/core/qt3/fix-xinerama-dialog-placement.diff b/opensuse/core/qt3/fix-xinerama-dialog-placement.diff
new file mode 100644
index 000000000..26ca37c16
--- /dev/null
+++ b/opensuse/core/qt3/fix-xinerama-dialog-placement.diff
@@ -0,0 +1,13 @@
+--- src/dialogs/qdialog.cpp
++++ src/dialogs/qdialog.cpp
+@@ -803,7 +803,9 @@
+ w = w->topLevelWidget();
+ QRect desk;
+ if ( w ) {
+- scrn = QApplication::desktop()->screenNumber( w );
++ // Use mapToGlobal rather than geometry() in case w might
++ // be embedded in another application
++ scrn = QApplication::desktop()->screenNumber( w->mapToGlobal( QPoint(0,0) ) );
+ } else if ( QApplication::desktop()->isVirtualDesktop() ) {
+ scrn = QApplication::desktop()->screenNumber( QCursor::pos() );
+ } else {