Bug 460299

Summary: Wrap around mode shows artefacts and broken tiles for brushes made with engines than pixel brush engine. [git 2264a44]
Product: [Applications] krita Reporter: Raghavendra kamath <raghu>
Component: CPU CanvasAssignee: Dmitry Kazakov <dimula73>
Status: RESOLVED FIXED    
Severity: normal CC: ghevan, halla
Priority: NOR    
Version First Reported In: nightly build (please specify the git hash!)   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Raghavendra kamath 2022-10-12 11:45:12 UTC
SUMMARY
Wrap around mode doesn't work correctly and shows artefacts and broken seamless tiling when used with brush engine other than pixel brush.


STEPS TO REPRODUCE
1. Open Krita and initiate wrap around mode.
2. Choose a brush which belongs to a brush engine other than pixel brush engine and paint
Comment 1 vanyossi 2022-10-13 19:33:25 UTC
updating state of this bug.

as found by freyalupen, the source of the bug appears to be

https://invent.kde.org/graphics/krita/-/commit/fc5c698a52cdbbd40a376b2059442b652f340824
               "Make sure that wraparound mode is activated only on the devices we explicitly want". for
               color smudge engine, wraparound needs to be enabled for the overlay paint device, but I'm
               not sure about the other brush engines

I saw this bug was taken by dmitry, so im assigning it to him
Comment 2 Dmitry Kazakov 2022-11-16 15:32:56 UTC
Git commit 4690c3d46f67f8b539c72863014cf84190367048 by Dmitry Kazakov.
Committed on 16/11/2022 at 15:32.
Pushed by dkazakov into branch 'master'.

Fix wraparound mode in non-pixel brush engines

If the engine uses some internal paint devices, it should properly
initialize supportsWrapAroundMode() value.

M  +1    -0    libs/image/KisOverlayPaintDeviceWrapper.cpp
M  +4    -0    libs/image/kis_paint_device.cc
M  +2    -0    plugins/paintops/colorsmudge/KisColorSmudgeInterstrokeData.cpp
M  +2    -0    plugins/paintops/colorsmudge/KisColorSmudgeStrategyLightness.cpp

https://invent.kde.org/graphics/krita/commit/4690c3d46f67f8b539c72863014cf84190367048
Comment 3 Dmitry Kazakov 2022-11-16 15:34:28 UTC
Git commit e20ff9dd0b5ca568818c87c4ea2985c390b74a14 by Dmitry Kazakov.
Committed on 16/11/2022 at 15:34.
Pushed by dkazakov into branch 'krita/5.1'.

Fix wraparound mode in non-pixel brush engines

If the engine uses some internal paint devices, it should properly
initialize supportsWrapAroundMode() value.

M  +1    -0    libs/image/KisOverlayPaintDeviceWrapper.cpp
M  +4    -0    libs/image/kis_paint_device.cc
M  +2    -0    plugins/paintops/colorsmudge/KisColorSmudgeInterstrokeData.cpp
M  +2    -0    plugins/paintops/colorsmudge/KisColorSmudgeStrategyLightness.cpp

https://invent.kde.org/graphics/krita/commit/e20ff9dd0b5ca568818c87c4ea2985c390b74a14