Bug 434307 - MyPaint brushes don't work with mirroring tools
Summary: MyPaint brushes don't work with mirroring tools
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Brush engines (other bugs)
Version First Reported In: git master (please specify the git hash!)
Platform: Mint (Ubuntu based) Linux
: NOR normal
Target Milestone: ---
Assignee: Tiar
URL:
Keywords: release_blocker
Depends on:
Blocks:
 
Reported: 2021-03-11 23:37 UTC by Tiar
Modified: 2021-05-10 11:26 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tiar 2021-03-11 23:37:00 UTC
SUMMARY
MyPaint brush engine doesn't supporting mirroring tools.

STEPS TO REPRODUCE
1. Turn on mirroring.
2. Choose a MyPaint painting brush.
3. Paint on only one side of the mirroring axis.

OBSERVED RESULT
No stroke on the other side.

EXPECTED RESULT
Stroke on the other side (mirrored).


SOFTWARE/OS VERSIONS
Krita

 Version: 5.0.0-prealpha (git d3260196b4)
 Languages: pl_PL, pl, pl_PL, pl
 Hidpi: true

Qt

  Version (compiled): 5.11.1
  Version (loaded): 5.11.1

OS Information
Comment 1 Tiar 2021-04-14 02:52:27 UTC
I'm marking this as "release_blocker", because last time a new engine was added that didn't support mirroring, we've got lots of bug reports and lots of user support with users confused why it wasn't working.
Comment 2 Ahab Greybeard 2021-04-14 09:40:19 UTC
I see this with the Apr 13 5.0.0-prealpha (git b80b015) appimage running on Debian 10.

Setting to Confirmed.
Comment 3 Tiar 2021-05-10 11:26:00 UTC
Git commit c5ba25915ee87788f897f79a2dbcf274e2550966 by Agata Cacko.
Committed on 10/05/2021 at 11:25.
Pushed by tymond into branch 'master'.

Fix mirroring for MyPaint brushes

Before this commit, MyPaint brushes wouldn't work
with mirroring at all (the brush wouldn't paint
on the other side of the axis). This commit introduces
mirroring to MyPaint brushes.

There is still an issue when the layer you paint on has
different contents on both sides of the axis, since
the other side would get some "halos". But it's the same
issue as with Color Smudge and other engines.

M  +27   -3    plugins/paintops/mypaint/MyPaintSurface.cpp

https://invent.kde.org/graphics/krita/commit/c5ba25915ee87788f897f79a2dbcf274e2550966
Comment 4 Tiar 2021-05-10 11:26:08 UTC
Git commit 1f89211c7998f4f67907dd4a5eefc3dd17987473 by Agata Cacko.
Committed on 10/05/2021 at 11:25.
Pushed by tymond into branch 'master'.

Move initialization of mask devices to constructor

Before this commit, all mask devices in
MyPaintSurface would be created in the drawDabImpl function.
Since this is expensive, it's better to create one paint device
and just reuse it for every dab.

M  +11   -11   plugins/paintops/mypaint/MyPaintSurface.cpp
M  +2    -0    plugins/paintops/mypaint/MyPaintSurface.h

https://invent.kde.org/graphics/krita/commit/1f89211c7998f4f67907dd4a5eefc3dd17987473