rev 9361 - trunk/packages/qt-x11-free/debian/patches

Fathi Boudra fabo at alioth.debian.org
Sat Feb 9 10:36:20 UTC 2008


Author: fabo
Date: 2008-02-09 10:36:20 +0000 (Sat, 09 Feb 2008)
New Revision: 9361

Added:
   trunk/packages/qt-x11-free/debian/patches/53_xinerama_dialog_placement_fix.diff
   trunk/packages/qt-x11-free/debian/patches/54_seli_xinerama.diff
Log:
Introduced patches: seli xinerama patches.


Added: trunk/packages/qt-x11-free/debian/patches/53_xinerama_dialog_placement_fix.diff
===================================================================
--- trunk/packages/qt-x11-free/debian/patches/53_xinerama_dialog_placement_fix.diff	                        (rev 0)
+++ trunk/packages/qt-x11-free/debian/patches/53_xinerama_dialog_placement_fix.diff	2008-02-09 10:36:20 UTC (rev 9361)
@@ -0,0 +1,13 @@
+--- a/src/dialogs/qdialog.cpp
++++ b/src/dialogs/qdialog.cpp
+@@ -799,7 +799,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 {

Added: trunk/packages/qt-x11-free/debian/patches/54_seli_xinerama.diff
===================================================================
--- trunk/packages/qt-x11-free/debian/patches/54_seli_xinerama.diff	                        (rev 0)
+++ trunk/packages/qt-x11-free/debian/patches/54_seli_xinerama.diff	2008-02-09 10:36:20 UTC (rev 9361)
@@ -0,0 +1,51 @@
+author: Lubos Lunak
+
+--- a/src/kernel/qapplication_x11.cpp
++++ b/src/kernel/qapplication_x11.cpp
+@@ -280,6 +280,7 @@
+ Atom		qt_net_wm_state_stays_on_top	= 0;	// KDE extension
+ Atom		qt_net_wm_pid		= 0;
+ Atom		qt_net_wm_user_time	= 0;
++Atom            qt_net_wm_full_placement = 0; // KDE extension
+ // Enlightenment support
+ Atom		qt_enlightenment_desktop	= 0;
+ 
+@@ -2013,6 +2014,7 @@
+ 			    &qt_net_wm_state_stays_on_top );
+ 	qt_x11_intern_atom( "_NET_WM_PID", &qt_net_wm_pid );
+ 	qt_x11_intern_atom( "_NET_WM_USER_TIME", &qt_net_wm_user_time );
++	qt_x11_intern_atom( "_NET_WM_FULL_PLACEMENT", &qt_net_wm_full_placement );
+ 	qt_x11_intern_atom( "ENLIGHTENMENT_DESKTOP", &qt_enlightenment_desktop );
+ 	qt_x11_intern_atom( "_NET_WM_NAME", &qt_net_wm_name );
+ 	qt_x11_intern_atom( "_NET_WM_ICON_NAME", &qt_net_wm_icon_name );
+--- a/src/dialogs/qdialog.cpp
++++ b/src/dialogs/qdialog.cpp
+@@ -673,6 +673,11 @@
+ 
+ #if defined(Q_WS_X11)
+ extern "C" { int XSetTransientForHint( Display *, unsigned long, unsigned long ); }
++#include <private/qt_x11_p.h>
++#undef FocusIn
++// defined in qapplication_x11.cpp
++extern Atom qt_net_wm_full_placement;
++extern bool qt_net_supports(Atom atom);
+ #endif // Q_WS_X11
+ 
+ /*!
+@@ -694,10 +699,12 @@
+ 
+     if ( !did_resize )
+ 	adjustSize();
+-    if ( has_relpos && !did_move ) {
+-	adjustPositionInternal( parentWidget(), TRUE );
+-    } else if ( !did_move ) {
+-	adjustPositionInternal( parentWidget() );
++    if( !qt_net_supports( qt_net_wm_full_placement )) {
++	if ( has_relpos && !did_move ) {
++	    adjustPositionInternal( parentWidget(), TRUE );
++	} else if ( !did_move ) {
++	    adjustPositionInternal( parentWidget() );
++	}
+     }
+ 
+     if (windowState() != state)




More information about the pkg-kde-commits mailing list