From e58f7c45a06f72f04f9f30faac909624f3a7c60d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Remko=20Tron=C3=A7on?= <git@el-tramo.be>
Date: Tue, 1 Jan 2013 10:37:24 +0100
Subject: Don't scroll to bottom if there's no scrollbar.

Change-Id: Ieb97996d80108a89aa49f1ec95ccca605ffbf17a

diff --git a/Swift/QtUI/QtXMLConsoleWidget.cpp b/Swift/QtUI/QtXMLConsoleWidget.cpp
index e674df8..284f3c3 100644
--- a/Swift/QtUI/QtXMLConsoleWidget.cpp
+++ b/Swift/QtUI/QtXMLConsoleWidget.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010 Remko Tronçon
+ * Copyright (c) 2010-2013 Remko Tronçon
  * Licensed under the GNU General Public License v3.
  * See Documentation/Licenses/GPLv3.txt for more information.
  */
@@ -96,7 +96,11 @@ void QtXMLConsoleWidget::appendTextIfEnabled(const std::string& data, const QCol
 		cursor.insertText(P2QSTRING(data));
 		cursor.endEditBlock();
 
-		if (scrollToBottom) {
+		// Checking for the scrollbar again, because it could have appeared after inserting text.
+		// In practice, I suspect that the scrollbar is always there, but hidden, but since we were
+		// explicitly testing for this already above, I'm leaving the code in.
+		scrollBar = textEdit->verticalScrollBar();
+		if (scrollToBottom && scrollBar) {
 			scrollBar->setValue(scrollBar->maximum());
 		}
 	}
-- 
cgit v0.10.2-6-g49f6