summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-libs/qt-meta/files/qt-3.3.8-seli-xinerama.patch')
-rw-r--r--x11-libs/qt-meta/files/qt-3.3.8-seli-xinerama.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/x11-libs/qt-meta/files/qt-3.3.8-seli-xinerama.patch b/x11-libs/qt-meta/files/qt-3.3.8-seli-xinerama.patch
new file mode 100644
index 00000000..9fdd97a3
--- /dev/null
+++ b/x11-libs/qt-meta/files/qt-3.3.8-seli-xinerama.patch
@@ -0,0 +1,49 @@
+--- src/kernel/qapplication_x11.cpp.sav 2006-06-01 13:31:04.000000000 +0200
++++ src/kernel/qapplication_x11.cpp 2006-06-01 13:33:07.000000000 +0200
+@@ -271,6 +271,7 @@ Atom qt_net_wm_frame_strut = 0; // KDE
+ 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;
+
+@@ -1922,6 +1923,7 @@ void qt_init_internal( int *argcptr, cha
+ &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 );
+--- src/dialogs/qdialog.cpp.sav 2006-03-17 14:33:44.000000000 +0100
++++ src/dialogs/qdialog.cpp 2006-06-01 13:38:00.000000000 +0200
+@@ -670,6 +670,11 @@ bool QDialog::event( QEvent *e )
+
+ #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
+
+ /*!
+@@ -691,10 +696,12 @@ void QDialog::show()
+
+ 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)