the return of kapp->processEvents() in kfind

Alexander Neundorf neundorf at kde.org
Sat Jun 28 11:52:41 BST 2003


Hi,

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 
implementation.

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.

Thanks
Alex
-- 
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 mailing list