summaryrefslogtreecommitdiffstats
path: root/opensuse/core/qt3/fix-xinerama-dialog-placement.diff
blob: 26ca37c16e659668a9c61580e96160b7f29ee0ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
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 {