GNOME Bugzilla – Bug 308748
distorts-->shift splits rows to 64px parts
Last modified: 2008-01-15 12:57:17 UTC
Please describe the problem: Because of our current docs, common sense and the comment in the shift.c file itself i believe, that this filter is supposed to shift whole pixel rows or colums of a layer/selection. However this is not the case: rows (colums) are split to 64 pixel long parts before shifting - a different random shift is used for each part. It produces nasty artifacts. If you do not consider this to be a bug, consider it an enhancement request. Steps to reproduce: 1. fill an empty image with the Stripes fine pattern 2. shift vertically 3. see the artifacts Actual results: see above Expected results: see above Does this happen every time? yes Other information:
The current code operates on tiles (which is good) and instead of precalculating an array of random shift offsets, it throws the dice for each row/column of a tile. Shouldn't be hard to fix.
Created attachment 48205 [details] [review] proposed fix Does this change fix the problem?
yes, it looks good, thanks
Applied to both branches then. Closing as FIXED. 2005-06-23 Sven Neumann <sven@gimp.org> * plug-ins/common/shift.c: shift whole rows/columns, instead of tiles. Fixes bug #308748.