How does this patch look? I thought it would be cleaner if I could
avoid needing to add the variable "bool need_to_set_row", however I
cannot see how this could be done. If I put setCurrentRow(0) in
GuiErrorList::showEvent it doesn't do anything, and calling
setCurrentRow(0) on every update was the cause of the original bug.

If correct, is this patch trivial enough for 1.6.4?  I just use
branch_1_6_X so it doesn't make any difference to me, but other users
might find this bug as annoying as I do.
Index: frontends/qt4/GuiErrorList.cpp
===================================================================
--- frontends/qt4/GuiErrorList.cpp	(revision 30798)
+++ frontends/qt4/GuiErrorList.cpp	(working copy)
@@ -49,10 +49,14 @@
 }
 
 
+bool need_to_set_row=true;
+
+
 void GuiErrorList::showEvent(QShowEvent * e)
 {
 	select();
 	updateContents();
+	need_to_set_row=true;
 	e->accept();
 }
 
@@ -78,7 +82,10 @@
 	ErrorList::const_iterator end = errorList().end();
 	for (; it != end; ++it)
 		errorsLW->addItem(toqstr(it->error));
-	errorsLW->setCurrentRow(0);
+	if (need_to_set_row) {
+		need_to_set_row=false;
+		errorsLW->setCurrentRow(0);
+	}
 }
 
 

Reply via email to