Bug 286985

Summary: Transparent lines sometimes appear on the canvas
Product: [Applications] krita Reporter: Dmitry Kazakov <dimula73>
Component: GeneralAssignee: Dmitry Kazakov <dimula73>
Status: RESOLVED FIXED    
Severity: major    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Screenshot

Description Dmitry Kazakov 2011-11-19 12:04:18 UTC
See attachment for picture

The lines appear on 512x512 tiles -- the maximum size of updated area in a single thread. This bug affects QPainter canvas only.
Comment 1 Dmitry Kazakov 2011-11-19 12:05:02 UTC
Created attachment 65839 [details]
Screenshot
Comment 2 Dmitry Kazakov 2011-11-19 15:19:54 UTC
Git commit 8e65448dec295c31aa92acd3c29807c98049c135 by Dmitry Kazakov.
Committed on 19/11/2011 at 17:18.
Pushed by dkazakov into branch 'master'.

Fixed lines appearing on a canvas on non-integer zooms

This happens because for scaling we may need some areas outside
current update rect. And these external areas may not be prepared yet
by other threads. So our current thread reads empty (not-yet-updated)
areas and uses them for scaling. This causes while lines.

Now the problem is solved like it is solved in
KisLayer::needRect/changeRect. The update, updates it's own rect, and
small adjoining areas around which depent on it, that may be called
"changeRect". Then the patch (KisImagePatch) requests even more pixels
to make the scaling right (that may be called "needRect").

BUG:286985

M  +1    -1    krita/ui/canvas/kis_image_patch.h
M  +14   -3    krita/ui/canvas/kis_prescaled_projection.cpp

http://commits.kde.org/calligra/8e65448dec295c31aa92acd3c29807c98049c135