rev 8970 - in trunk/packages/qt4-x11/debian: . patches
Fathi Boudra
fabo at alioth.debian.org
Tue Jan 15 16:45:57 UTC 2008
Author: fabo
Date: 2008-01-15 16:45:57 +0000 (Tue, 15 Jan 2008)
New Revision: 8970
Modified:
trunk/packages/qt4-x11/debian/changelog
trunk/packages/qt4-x11/debian/patches/0172-prefer-xrandr-over-xinerama.diff
trunk/packages/qt4-x11/debian/patches/series
Log:
* Refresh and enable 0172-prefer-xrandr-over-xinerama patch.
Modified: trunk/packages/qt4-x11/debian/changelog
===================================================================
--- trunk/packages/qt4-x11/debian/changelog 2008-01-15 16:21:54 UTC (rev 8969)
+++ trunk/packages/qt4-x11/debian/changelog 2008-01-15 16:45:57 UTC (rev 8970)
@@ -2,6 +2,7 @@
* Add 0205-fast-qpixmap-fill qt-copy patch:
Fix a performance issue in QPixmap::fill()
+ * Refresh and enable 0172-prefer-xrandr-over-xinerama patch.
-- Fathi Boudra <fabo at debian.org> Wed, 02 Jan 2008 09:45:31 +0100
Modified: trunk/packages/qt4-x11/debian/patches/0172-prefer-xrandr-over-xinerama.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/0172-prefer-xrandr-over-xinerama.diff 2008-01-15 16:21:54 UTC (rev 8969)
+++ trunk/packages/qt4-x11/debian/patches/0172-prefer-xrandr-over-xinerama.diff 2008-01-15 16:45:57 UTC (rev 8970)
@@ -13,30 +13,55 @@
given that qt can't deal with dynamically changing number of screens,
this is for "when I have time".
+also includes a race fix that can cause the whole KDE session to crash
+when you resize the screen.
+
--- a/src/gui/kernel/qdesktopwidget_x11.cpp
+++ b/src/gui/kernel/qdesktopwidget_x11.cpp
-@@ -140,7 +140,8 @@
+@@ -122,13 +122,16 @@
+ int unused;
+ use_xinerama = (XineramaQueryExtension(X11->display, &unused, &unused) && XineramaIsActive(X11->display));
+- if (use_xinerama) {
++ if (use_xinerama)
+ xinerama_screeninfo =
+ XineramaQueryScreens(X11->display, &screenCount);
++
++ if (use_xinerama && xinerama_screeninfo) {
+ defaultScreen = 0;
+ } else
+ #endif // QT_NO_XINERAMA
+ {
++ use_xinerama = false;
+ defaultScreen = DefaultScreen(X11->display);
+ screenCount = ScreenCount(X11->display);
+ }
+@@ -139,8 +142,8 @@
+ workareas = new QRect[screenCount];
+
// get the geometry of each screen
- int i, x, y, w, h;
+- int i, x, y, w, h;
- for (i = 0; i < screenCount; i++) {
-+ int itScreenCount = screenCount;
-+ for (i = 0; i < itScreenCount; i++) {
++ int i, j, x, y, w, h;
++ for (i = 0, j = 0; i < screenCount; i++, j++) {
#ifndef QT_NO_XINERAMA
if (use_xinerama) {
-@@ -158,10 +159,19 @@
+@@ -157,11 +160,21 @@
+ h = HeightOfScreen(ScreenOfDisplay(X11->display, i));
}
- rects[i].setRect(x, y, w, h);
-+ if (i > 0 && rects[i-1].intersects(rects[i]) &&
-+ (rects[i].width()*rects[i].height()) >
-+ (rects[i-1].width()*rects[i-1].height())) {
-+ rects[i-1] = rects[i];
-+ screenCount--;
+- rects[i].setRect(x, y, w, h);
++ rects[j].setRect(x, y, w, h);
++ if (j > 0 && rects[j-1].intersects(rects[j]) &&
++ (rects[j].width()*rects[j].height()) >
++ (rects[j-1].width()*rects[j-1].height())) {
++ rects[j-1] = rects[j];
++ j--;
+ }
workareas[i] = QRect();
}
++ screenCount = j;
#ifndef QT_NO_XINERAMA
+ if (use_xinerama && screenCount == 1)
Modified: trunk/packages/qt4-x11/debian/patches/series
===================================================================
--- trunk/packages/qt4-x11/debian/patches/series 2008-01-15 16:21:54 UTC (rev 8969)
+++ trunk/packages/qt4-x11/debian/patches/series 2008-01-15 16:45:57 UTC (rev 8970)
@@ -1,6 +1,6 @@
# qt-copy patches
0167-fix-group-reading.diff
-#0172-prefer-xrandr-over-xinerama.diff
+0172-prefer-xrandr-over-xinerama.diff
0175-fix-s390-qatomic.diff
0176-coverity-fixes.diff
0178-transparency-window-types.diff
More information about the pkg-kde-commits
mailing list