LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File fix-xinerama-dialog-placement.diff of Package qt3 (Project openSUSE:Factory)

--- 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 {