[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice-devel
Subject:    Re: Review Request: Fixed bugs in thumbnail creation mechanism
From:       "Dmitry Kazakov" <dimula73 () gmail ! com>
Date:       2009-07-12 7:36:10
Message-ID: 20090712073610.8637.56188 () localhost
[Download RAW message or body]


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/990/
-----------------------------------------------------------

(Updated 2009-07-12 07:36:09.377744)


Review request for KOffice.


Changes
-------

Reverted back KisPaintDevice::createThumbnailDevice to use extents() instead of \
exactBounds(). 

So, by this moment, this patch has two changes:
1) Filters are applied to thumbnails over exactBounds() rect instead of (100,100), \
that makes all thumbs look alike. ('Invert' filter case) 2) Fixed overflow in \
exactBounds.

PS:
Btw, why there is such a strange interface to KisFilter::process(), i mean topLeft() \
point of filter application is stored in KisProcessInformation but size() of the rect \
is being given directly to the process() function? Why not just store processRect in \
processInformation fully?


Summary
-------

There is a bug in thumbnails in filters dialog. If you open it and look at 'Invert' \
thumbnail thoroughly, you'll see that it's thumb is quite higher than others. That is \
so because filters applied to thumbs inside constant rect (100,100) [1]. 'Invert' \
filter inverts defaultPixel and after that KisPaintDevice::exactBounds won't work \
well, because there is no more defaultPixel in thumbnail. This bug is fixed in this \
patch.

Alongside with this bug, there is a bug in KisPaintDevice::exactBounds. In cycles of \
calculating right and bottom bounds, iterator reads one column/row more than needed \
every time(!) [2]. This bug is not seen much in old tile engine, as reading of \
unallocated areas was not causing any changes in internals of engine. But in new one \
extent is extended by one tile to the right and bottom every time exactBounds() \
called. This is fixed too.

And the last chunk - fix in KisPaintDevice::createThumbnailDevice(). Thumbnail \
created only for actual image - not it's extent.


[1] ui/kis_filters_model.cc:170
[2] image/kis_paint_device.cc:251 and image/kis_paint_device.cc:287


Diffs (updated)
-----

  trunk/koffice/krita/image/kis_paint_device.cc 995043 
  trunk/koffice/krita/ui/kis_filters_model.cc 995043 

Diff: http://reviewboard.kde.org/r/990/diff


Testing
-------


Thanks,

Dmitry

_______________________________________________
koffice-devel mailing list
koffice-devel@kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic