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