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: | 3.0 | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
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. |