<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">On Tuesday 31 March 2009, Boudewijn Rempt wrote:<br>
> * KisThreadedApplicator: this takes a paint device and (optionally)<br>
> divides it into areas and applies a KisJob to it. Only filters<br>
> currently use this. Right now, a job in KisThreadedApplicator cannot<br>
> be cancelled, and the way filters use it isn't safe, because<br>
> KisFilterHandler can be entered before the theaded applicator is done.<br>
> Because of a clash with KoUpdater, we need to disable this for all<br>
> filters for 2.0 :-(.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>Actually, the real clash is between KisFilterMask and KoUpdater (while painting on a layer), for which the only "fix" I found so far was not compatible with KisThreadedApplicator :(<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>> * We used to use ThreadWeaver to recompute the thumbnails in the<br>
> filters gallery, however that got replaced by lazy creation of<br>
> thumbnails in KisFiltersModel. (At least, I hope it's lazy!)<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>It should, otherwise there is a bug in Qt's view. But the way I wrote it, the thumbnail should only be created when the view ask the model for the thumbnail. That said, we could still have thread there:<br>
1) view ask for thumbnail<br>
2) model doesn't have it (yet), send an icon instead, and start a threaded creation of thumbnail<br>
3) creation is finished, model tells view that data has been updated<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>Not sure if it is worth the effort.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>-- <br>
Cyrille Berger</p></body></html>