Blob Blame History Raw
From c844098d0e6097c6ce28afaac7e680b002f7521c Mon Sep 17 00:00:00 2001
From: Rex Dieter <rdieter@math.unl.edu>
Date: Thu, 25 Sep 2014 06:51:40 -0500
Subject: [PATCH 2/2] Fix scrollbar appearing on FolderView

BUG: 294795
FIXED-IN: 4.14.2
REVIEW: 120057

Workaround for some kind of memory corruption error which can lead to
availRect.bottom() being set to 0 after availableScreenRect returns.
If this happens, use qdesktopwidget instead.
---
 plasma/applets/folderview/folderview.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/plasma/applets/folderview/folderview.cpp b/plasma/applets/folderview/folderview.cpp
index f56cab1..002401a 100644
--- a/plasma/applets/folderview/folderview.cpp
+++ b/plasma/applets/folderview/folderview.cpp
@@ -1357,6 +1357,13 @@ void FolderView::updateScreenRegion()
     if (c->metaObject()->indexOfSlot("availableScreenRect(int)") != -1) {
         QMetaObject::invokeMethod(c, "availableScreenRect",
                                   Qt::DirectConnection, Q_RETURN_ARG(QRect, availRect), Q_ARG(int, screen()));
+
+        // Workaround for bug 294795. Some kind of memory corruption error can lead to
+        // availRect.bottom() being set to 0 after availableScreenRect returns. If this
+        // happens, use qdesktopwidget instead.
+        if (availRect.bottom() == 0) {
+             availRect = QApplication::desktop()->availableGeometry(screen());
+        }
     } else {
         kDebug() << "using qdesktopwidget";
         availRect = QApplication::desktop()->availableGeometry(screen());
-- 
2.1.0