summaryrefslogtreecommitdiff
path: root/debian/patches/0232-fix-qdesktopwidget-screen-merge.diff
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/0232-fix-qdesktopwidget-screen-merge.diff')
-rw-r--r--debian/patches/0232-fix-qdesktopwidget-screen-merge.diff26
1 files changed, 26 insertions, 0 deletions
diff --git a/debian/patches/0232-fix-qdesktopwidget-screen-merge.diff b/debian/patches/0232-fix-qdesktopwidget-screen-merge.diff
new file mode 100644
index 0000000..8aeed24
--- /dev/null
+++ b/debian/patches/0232-fix-qdesktopwidget-screen-merge.diff
@@ -0,0 +1,26 @@
+qt-bugs@ issue :
+Trolltech task ID :
+bugs.kde.org number :
+applied: no
+author: Dirk Mueller <mueller@kde.org>
+
+merge screens even if they're identical in size but overlaying
+
+--- a/src/gui/kernel/qdesktopwidget_x11.cpp
++++ b/src/gui/kernel/qdesktopwidget_x11.cpp
+@@ -186,10 +186,11 @@ void QDesktopWidgetPrivate::init()
+ // merge a "cloned" screen with the previous, hiding all crtcs
+ // that are currently showing a sub-rect of the previous screen
+ 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];
++ if (j> 0)
++ if (j > 0 && rects[j-1].intersects(rects[j])) {
++ if ((rects[j].width()*rects[j].height()) >
++ (rects[j-1].width()*rects[j-1].height()))
++ rects[j-1] = rects[j];
+ j--;
+ }
+ workareas[i] = QRect();