| Summary: | Movement on child layer of group layer with transparency mask is not reflected | ||
|---|---|---|---|
| Product: | [Applications] krita | Reporter: | andrewlchronister |
| Component: | Tools/Transform | Assignee: | Krita Bugs <krita-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | freebox64, halla, hawaiigames, mangatengu, winnerer |
| Priority: | NOR | ||
| Version First Reported In: | 3.0 | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | (Video example) | ||
|
Description
andrewlchronister
2016-09-06 07:06:08 UTC
Created attachment 100949 [details]
(Video example)
(krita-3.0.99.91-Beta-x86_64.appimage - Ubuntu 14.04)
I think I can confirm: moving layers of a group layer with transparency mask is not apparent on canvas.
I can confirm as well. *** Bug 376774 has been marked as a duplicate of this bug. *** I can confirm too https://youtu.be/BhWWIYlobbk I can confirm this bug as well. (Krita 3.2.1 x64 Portable, on Windows 7 x64) Trying this on an image where the only paint layer is in a group gives an assert:
ASSERT: "fastBitBltPossible(src)" in file /home/boud/dev/krita/libs/image/kis_paint_device.cc, line 195
#0 0x00007fffeb453120 in raise () at /lib64/libc.so.6
#1 0x00007fffeb454701 in abort () at /lib64/libc.so.6
#2 0x00007fffec1411eb in qErrnoWarning(char const*, ...) () at /usr/lib64/libQt5Core.so.5
#3 0x00007fffec1409e1 in qt_assert_x(char const*, char const*, char const*, int) ()
at /usr/lib64/libQt5Core.so.5
#4 0x00007ffff4d28da8 in KisPaintDevice::Private::prepareClone(KisSharedPtr<KisPaintDevice>)
(this=<optimized out>, src=...) at /home/boud/dev/krita/libs/image/kis_paint_device.cc:195
#5 0x00007ffff4d1a921 in KisPaintDevice::prepareClone(KisSharedPtr<KisPaintDevice>)
(this=0x7fff7883cc60, src=...) at /home/boud/dev/krita/libs/image/kis_paint_device.cc:1067
#6 0x00007ffff4cc62b8 in KisCachedPaintDevice::getDevice(KisSharedPtr<KisPaintDevice>)
(prototype=..., this=<optimized out>, this=<optimized out>)
at /home/boud/dev/krita/libs/image/kis_cached_paint_device.h:36
#7 0x00007ffff4cc62b8 in KisMask::mergeInMaskInternal(KisSharedPtr<KisPaintDevice>, KisSharedPtr<KisSelection>, QRect const&, QRect const&, KisNode::PositionToFilthy) const
(this=0x7fffd8008e50, projection=..., effectiveSelection=..., applyRect=..., preparedNeedRect=..., maskPos=<optimized out>) at /home/boud/dev/krita/libs/image/kis_mask.cc:321
#8 0x00007ffff4cc9709 in KisMask::apply(KisSharedPtr<KisPaintDevice>, QRect const&, QRect const&, KisNode::PositionToFilthy) const
(this=0x7fffd8008e50, projection=..., applyRect=..., needRect=..., maskPos=maskPos@entry=KisNode::N_ABOVE_FILTHY) at /home/boud/dev/krita/libs/image/kis_mask.cc:304
#9 0x00007ffff4ca681a in KisLayer::applyMasks(KisSharedPtr<KisPaintDevice>, KisSharedPtr<KisPaintDevice>, QRect const&, KisSharedPtr<KisNode>, KisSharedPtr<KisNode>) const
(this=this@entry=0xbd340c0, source=..., destination=..., requestedRect=..., filthyNode=..., lastNode=...)
at /home/boud/dev/krita/libs/image/kis_layer.cc:816
#10 0x00007ffff4ca7226 in KisLayer::updateProjection(QRect const&, KisSharedPtr<KisNode>)
(this=0xbd340c0, rect=..., filthyNode=...) at /home/boud/dev/krita/libs/image/kis_layer.cc:850
#11 0x00007ffff4cab55c in KisLayerProjectionPlane::recalculate(QRect const&, KisSharedPtr<KisNode>)
(this=<optimized out>, rect=..., filthyNode=...)
at /home/boud/dev/krita/libs/image/kis_layer_projection_plane.cpp:47
#12 0x00007ffff4c38339 in KisAsyncMerger::startMerge(KisBaseRectsWalker&, bool)
(this=0x1ae85728, walker=..., notifyClones=<optimized out>)
at /home/boud/dev/krita/libs/image/kis_async_merger.cpp:263
#13 0x00007ffff4e61464 in non-virtual thunk to KisUpdateJobItem::run() ()
at /home/boud/dev/i-krita/lib64/libkritaimage.so.18
#14 0x00007fffec168fa2 in () at /usr/lib64/libQt5Core.so.5
#15 0x00007fffec164832 in () at /usr/lib64/libQt5Core.so.5
#16 0x00007fffea4fb569 in start_thread () at /lib64/libpthread.so.0
#17 0x00007fffeb51585f in clone () at /lib64/libc.so.6
(gdb)
I've just retested, and this works for me now. |