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);
+ }
}