the return of kapp->processEvents() in kfind
neundorf at kde.org
Sat Jun 28 11:52:41 BST 2003
a long time ago I removed the call to kapp->processEvents() in kfind (in
KQuery::slotNewEntries(), since this caused several major bugs, mainly
because it could happen that slotNewEntries() was called again from this
processEvents(), so that more of them were running inside each other.
The removal of the kapp->processEvents() fixed all those nasty bugs, but it
made kfind much less responsive, especially when searching with contents.
Now kapp->processEvents() has returned !
slotNewEntries() now only creates new KFileItems and appends them to the new
QPtrQueue m_fileItems. If the code is already in the new function
checkEntries(), which consumes the elements of this queue, checkEntries() is
not called again. If it isn't inside checkEntries(), checkEntries() is
started. I tested it here and it seems to have the desired effect, kfind is
responsive and it shouldn't cause the bad effects of the former
Please test it extensively and report any new bugs (either to bugs.kde.org or
directly to me).
Unfortunately I don't have a recent HEAD around (only 3_1_BRANCH), so I did my
best to merge the changes manually into HEAD and to make sure it compiles.
Please test whether I succeeded.
Work: alexander.neundorf at jenoptik.com - http://www.jenoptik-los.de
Home: neundorf at kde.org - http://www.kde.org
alex at neundorf.net - http://www.neundorf.net
More information about the kde-core-devel