[Patch] SlaveBase progress...

Craig Drummond craig at kde.org
Thu May 19 22:11:51 BST 2005


I've noticed, and so have others (http://bugs.kde.org/show_bug.cgi?id=96108), 
that the progress data shown in the UI server's progress dialog is 
inconsistent with the real progress.

Looking at kio/slavebase.cpp, I discovered that SlaveBase::processedSize() 
only emits if it has been greater than 100ms since the last update.  However, 
when copying from file:/ to fonts:/ (or event to file:/) the frequency of 
calling processedSize is quicker than 100ms, so most (all?) updates are not 
emitted. 

For example, if I have a font of 99k,  I call SlaveBase::totalSize() with this 
value, and then read 32k chunks of date. For each chunk read I call 
SlaveBase::processedSize(). As reading from a file is very fast, only the 1st 
call to SlaveBase::processedSize() ever emits a signal. This causes the 
progress bar to only be updated with the 1st 32k chunk of each file - with 
the results being similar to the bug report mentioned above.

The attached patch "fixes" this by forcing an update if 
processedSize==totalSize. Is this OK to commit? Or is there a better 
solution?

Craig.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: slavebase.cpp.patch
Type: text/x-diff
Size: 1913 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20050519/fca37ebf/attachment.patch>


More information about the kde-core-devel mailing list