[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-kimageshop
Subject:    Re: koffice/krita/image
From:       Cyrille Berger <cberger () cberger ! net>
Date:       2009-09-22 21:51:59
Message-ID: 200909222351.59847.cberger () cberger ! net
[Download RAW message or body]

On Tuesday 22 September 2009, you wrote:
> Hi, Cyrille! Could you tell me, what is the reason of this change?!
> selection() can easily not to have PixelSelection but to have a Vector one!
hum good question.

> Why do you check for this?
The problem is that the datamanager of KisSelection get destroyed when 
KisTransparencyMask::apply() work. You can see the valgrind trace in 
attachement. Maybe a more proper fix would be for the transparancy mask to 
block the replacement of the datamanager, or iterators should hold a smart 
point to the data manager (why don't they ?)

-- 
Cyrille Berger

["valgrind-krita.txt" (text/plain)]

==5174== Thread 2:                                                                    \
 ==5174== Invalid read of size 4                                                      \
 ==5174==    at 0x409D197: QMutex::lock() (qmutex.cpp:152)                            \
 ==5174==    by 0x451F487: KisTile::removeReader() const (kis_tile.cc:152)            \
 ==5174==    by 0x451FE6E: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:116)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==  Address 0xf2b41a8 is 32 bytes inside a block of size 36 free'd             \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x451B5D9: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
 ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260)                                                        \
 ==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                  \
 ==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)   \
 ==5174==    by 0x43A3B54: \
KisMaskManager::createTransparencyMask(KisSharedPtr<KisNode>, KisSharedPtr<KisNode>) \
(kis_mask_manager.cc:205)                      ==5174==    by 0x43AB8B6: \
KisNodeManager::createNode(QString const&) (kis_node_manager.cpp:254)                 \
 ==5174==                                                                             \
 ==5174== Invalid read of size 1                                                      \
 ==5174==    at 0x409D199: QMutex::lock() (qmutex.cpp:152)                            \
 ==5174==    by 0x451F487: KisTile::removeReader() const (kis_tile.cc:152)            \
 ==5174==    by 0x451FE6E: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:116)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==  Address 0x18ee1430 is 0 bytes inside a block of size 96 free'd             \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x409D32F: QMutex::~QMutex() (qmutex.cpp:134)                         \
 ==5174==    by 0x451FCD5: KisTile::~KisTile() (kis_tile.cc:107)                      \
 ==5174==    by 0x451B5D1: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
 ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260)                                                        \
 ==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                  \
 ==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)   \
 ==5174==                                                                             \
 ==5174== Invalid read of size 4                                                      \
 ==5174==    at 0x409D232: QMutex::lock() (qmutex.cpp:154)                            \
 ==5174==    by 0x451F487: KisTile::removeReader() const (kis_tile.cc:152)            \
 ==5174==    by 0x451FE6E: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:116)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==  Address 0xf2b41a8 is 32 bytes inside a block of size 36 free'd             \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x451B5D9: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
 ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260)                                                        \
 ==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                  \
 ==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)   \
 ==5174==    by 0x43A3B54: \
KisMaskManager::createTransparencyMask(KisSharedPtr<KisNode>, KisSharedPtr<KisNode>) \
(kis_mask_manager.cc:205)                      ==5174==    by 0x43AB8B6: \
KisNodeManager::createNode(QString const&) (kis_node_manager.cpp:254)                 \
 ==5174==                                                                             \
 ==5174== Invalid read of size 4                                                      \
 ==5174==    at 0x409D234: QMutex::lock() (qmutex.cpp:154)                            \
 ==5174==    by 0x451F487: KisTile::removeReader() const (kis_tile.cc:152)            \
 ==5174==    by 0x451FE6E: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:116)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==  Address 0x18ee143c is 12 bytes inside a block of size 96 free'd            \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x409D32F: QMutex::~QMutex() (qmutex.cpp:134)                         \
 ==5174==    by 0x451FCD5: KisTile::~KisTile() (kis_tile.cc:107)                      \
 ==5174==    by 0x451B5D1: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
 ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260)                                                        \
 ==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                  \
 ==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)   \
 ==5174==                                                                             \
 ==5174== Invalid read of size 4                                                      \
 ==5174==    at 0x409D241: QMutex::lock() (qatomic_i386.h:163)                        \
 ==5174==    by 0x451F487: KisTile::removeReader() const (kis_tile.cc:152)            \
 ==5174==    by 0x451FE6E: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:116)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==  Address 0x18ee1434 is 4 bytes inside a block of size 96 free'd             \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x409D32F: QMutex::~QMutex() (qmutex.cpp:134)                         \
 ==5174==    by 0x451FCD5: KisTile::~KisTile() (kis_tile.cc:107)                      \
 ==5174==    by 0x451B5D1: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
 ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260)                                                        \
==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)    \
 ==5174==                                                                             \
 ==5174== Invalid read of size 4                                                      \
 ==5174==    at 0x409D24C: QMutex::lock() (qmutex.cpp:177)                            \
 ==5174==    by 0x451F487: KisTile::removeReader() const (kis_tile.cc:152)            \
 ==5174==    by 0x451FE6E: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:116)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==  Address 0xf2b41a8 is 32 bytes inside a block of size 36 free'd             \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x451B5D9: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
 ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260)                                                        \
 ==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                  \
 ==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)   \
 ==5174==    by 0x43A3B54: \
KisMaskManager::createTransparencyMask(KisSharedPtr<KisNode>, KisSharedPtr<KisNode>) \
(kis_mask_manager.cc:205)                      ==5174==    by 0x43AB8B6: \
KisNodeManager::createNode(QString const&) (kis_node_manager.cpp:254)                 \
 ==5174==                                                                             \
 ==5174== Invalid write of size 4                                                     \
 ==5174==    at 0x409D24E: QMutex::lock() (qmutex.cpp:177)                            \
 ==5174==    by 0x451F487: KisTile::removeReader() const (kis_tile.cc:152)            \
 ==5174==    by 0x451FE6E: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:116)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==  Address 0x18ee143c is 12 bytes inside a block of size 96 free'd            \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x409D32F: QMutex::~QMutex() (qmutex.cpp:134)                         \
 ==5174==    by 0x451FCD5: KisTile::~KisTile() (kis_tile.cc:107)                      \
 ==5174==    by 0x451B5D1: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
 ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260)                                                        \
 ==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                  \
 ==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)   \
 ==5174==                                                                             \
 ==5174== Invalid read of size 4                                                      \
 ==5174==    at 0x409D251: QMutex::lock() (qmutex.cpp:178)                            \
 ==5174==    by 0x451F487: KisTile::removeReader() const (kis_tile.cc:152)            \
 ==5174==    by 0x451FE6E: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:116)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==  Address 0x18ee1440 is 16 bytes inside a block of size 96 free'd            \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x409D32F: QMutex::~QMutex() (qmutex.cpp:134)                         \
 ==5174==    by 0x451FCD5: KisTile::~KisTile() (kis_tile.cc:107)                      \
 ==5174==    by 0x451B5D1: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
 ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260)                                                        \
 ==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                  \
 ==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)   \
 ==5174==                                                                             \
 ==5174== Invalid read of size 4                                                      \
 ==5174==    at 0x451F488: KisTile::removeReader() const (kis_tile.cc:153)            \
 ==5174==    by 0x451FE6E: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:116)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==    by 0x41A3E0F: QObject::event(QEvent*) (qobject.cpp:1110)                 \
 ==5174==  Address 0xf2b4194 is 12 bytes inside a block of size 36 free'd             \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x451B5D9: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
 ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260)                                                        \
 ==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                  \
 ==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)   \
 ==5174==    by 0x43A3B54: \
KisMaskManager::createTransparencyMask(KisSharedPtr<KisNode>, KisSharedPtr<KisNode>) \
(kis_mask_manager.cc:205)                      ==5174==    by 0x43AB8B6: \
KisNodeManager::createNode(QString const&) (kis_node_manager.cpp:254)                 \
 ==5174==                                                                             \
 ==5174== Invalid write of size 4                                                     \
 ==5174==    at 0x451F490: KisTile::removeReader() const (kis_tile.cc:153)            \
 ==5174==    by 0x451FE6E: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:116)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==    by 0x41A3E0F: QObject::event(QEvent*) (qobject.cpp:1110)                 \
 ==5174==  Address 0xf2b4194 is 12 bytes inside a block of size 36 free'd             \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x451B5D9: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
 ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260)                                                        \
 ==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                  \
==5174==    by 0x43A3B54: \
KisMaskManager::createTransparencyMask(KisSharedPtr<KisNode>, KisSharedPtr<KisNode>) \
(kis_mask_manager.cc:205)                      ==5174==    by 0x43AB8B6: \
KisNodeManager::createNode(QString const&) (kis_node_manager.cpp:254)                 \
 ==5174==                                                                             \
 ==5174== Invalid read of size 4                                                      \
 ==5174==    at 0x409CF9D: QMutex::unlock() (qmutex.cpp:375)                          \
 ==5174==    by 0x451F4AD: KisTile::removeReader() const (kis_tile.cc:155)            \
 ==5174==    by 0x451FE6E: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:116)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==  Address 0xf2b41a8 is 32 bytes inside a block of size 36 free'd             \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x451B5D9: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
 ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260)                                                        \
 ==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                  \
 ==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)   \
 ==5174==    by 0x43A3B54: \
KisMaskManager::createTransparencyMask(KisSharedPtr<KisNode>, KisSharedPtr<KisNode>) \
(kis_mask_manager.cc:205)                      ==5174==    by 0x43AB8B6: \
KisNodeManager::createNode(QString const&) (kis_node_manager.cpp:254)                 \
 ==5174==                                                                             \
 ==5174== Invalid read of size 1                                                      \
 ==5174==    at 0x409CF9F: QMutex::unlock() (qmutex.cpp:375)                          \
 ==5174==    by 0x451F4AD: KisTile::removeReader() const (kis_tile.cc:155)            \
 ==5174==    by 0x451FE6E: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:116)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==  Address 0x18ee1430 is 0 bytes inside a block of size 96 free'd             \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x409D32F: QMutex::~QMutex() (qmutex.cpp:134)                         \
 ==5174==    by 0x451FCD5: KisTile::~KisTile() (kis_tile.cc:107)                      \
 ==5174==    by 0x451B5D1: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
 ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260)                                                        \
 ==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                  \
 ==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)   \
 ==5174==                                                                             \
 ==5174== Invalid read of size 4                                                      \
 ==5174==    at 0x409CFA4: QMutex::unlock() (qmutex.cpp:376)                          \
 ==5174==    by 0x451F4AD: KisTile::removeReader() const (kis_tile.cc:155)            \
 ==5174==    by 0x451FE6E: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:116)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==  Address 0x18ee1440 is 16 bytes inside a block of size 96 free'd            \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x409D32F: QMutex::~QMutex() (qmutex.cpp:134)                         \
 ==5174==    by 0x451FCD5: KisTile::~KisTile() (kis_tile.cc:107)                      \
 ==5174==    by 0x451B5D1: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
 ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260)                                                        \
 ==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                  \
 ==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)   \
 ==5174==                                                                             \
 ==5174== Invalid write of size 4                                                     \
 ==5174==    at 0x409CFAC: QMutex::unlock() (qmutex.cpp:376)                          \
 ==5174==    by 0x451F4AD: KisTile::removeReader() const (kis_tile.cc:155)            \
 ==5174==    by 0x451FE6E: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:116)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==  Address 0x18ee1440 is 16 bytes inside a block of size 96 free'd            \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x409D32F: QMutex::~QMutex() (qmutex.cpp:134)                         \
 ==5174==    by 0x451FCD5: KisTile::~KisTile() (kis_tile.cc:107)                      \
 ==5174==    by 0x451B5D1: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
 ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260)                                                        \
 ==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                  \
 ==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)   \
 ==5174==                                                                             \
 ==5174== Invalid write of size 4                                                     \
 ==5174==    at 0x409CFB1: QMutex::unlock() (qmutex.cpp:377)                          \
 ==5174==    by 0x451F4AD: KisTile::removeReader() const (kis_tile.cc:155)            \
 ==5174==    by 0x451FE6E: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:116)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==  Address 0x18ee143c is 12 bytes inside a block of size 96 free'd            \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x409D32F: QMutex::~QMutex() (qmutex.cpp:134)                         \
 ==5174==    by 0x451FCD5: KisTile::~KisTile() (kis_tile.cc:107)                      \
 ==5174==    by 0x451B5D1: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                   \
 ==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)   \
 ==5174==                                                                             \
 ==5174== Invalid read of size 4                                                      \
 ==5174==    at 0x409CFC5: QMutex::unlock() (qatomic_i386.h:144)                      \
 ==5174==    by 0x451F4AD: KisTile::removeReader() const (kis_tile.cc:155)            \
 ==5174==    by 0x451FE6E: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:116)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==  Address 0x18ee1434 is 4 bytes inside a block of size 96 free'd             \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x409D32F: QMutex::~QMutex() (qmutex.cpp:134)                         \
 ==5174==    by 0x451FCD5: KisTile::~KisTile() (kis_tile.cc:107)                      \
 ==5174==    by 0x451B5D1: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
 ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260)                                                        \
 ==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                  \
 ==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)   \
 ==5174==                                                                             \
 ==5174== Invalid read of size 4                                                      \
 ==5174==    at 0x409D197: QMutex::lock() (qmutex.cpp:152)                            \
 ==5174==    by 0x451F487: KisTile::removeReader() const (kis_tile.cc:152)            \
 ==5174==    by 0x451FE7D: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:118)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==  Address 0xf2b41a8 is 32 bytes inside a block of size 36 free'd             \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x451B5D9: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
 ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260)                                                        \
 ==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                  \
 ==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)   \
 ==5174==    by 0x43A3B54: \
KisMaskManager::createTransparencyMask(KisSharedPtr<KisNode>, KisSharedPtr<KisNode>) \
(kis_mask_manager.cc:205)                      ==5174==    by 0x43AB8B6: \
KisNodeManager::createNode(QString const&) (kis_node_manager.cpp:254)                 \
 ==5174==                                                                             \
 ==5174== Invalid read of size 1                                                      \
 ==5174==    at 0x409D199: QMutex::lock() (qmutex.cpp:152)                            \
 ==5174==    by 0x451F487: KisTile::removeReader() const (kis_tile.cc:152)            \
 ==5174==    by 0x451FE7D: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:118)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==  Address 0x18ee1430 is 0 bytes inside a block of size 96 free'd             \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x409D32F: QMutex::~QMutex() (qmutex.cpp:134)                         \
 ==5174==    by 0x451FCD5: KisTile::~KisTile() (kis_tile.cc:107)                      \
 ==5174==    by 0x451B5D1: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
 ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260)                                                        \
 ==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                  \
 ==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)   \
 ==5174==                                                                             \
 ==5174== Invalid read of size 4                                                      \
 ==5174==    at 0x409D232: QMutex::lock() (qmutex.cpp:154)                            \
 ==5174==    by 0x451F487: KisTile::removeReader() const (kis_tile.cc:152)            \
 ==5174==    by 0x451FE7D: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:118)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==  Address 0xf2b41a8 is 32 bytes inside a block of size 36 free'd             \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x451B5D9: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
 ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260)                                                        \
 ==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                  \
 ==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)   \
 ==5174==    by 0x43A3B54: \
KisMaskManager::createTransparencyMask(KisSharedPtr<KisNode>, KisSharedPtr<KisNode>) \
(kis_mask_manager.cc:205)                      ==5174==    by 0x43AB8B6: \
KisNodeManager::createNode(QString const&) (kis_node_manager.cpp:254)                 \
 ==5174==                                                                             \
 ==5174== Invalid read of size 4                                                      \
 ==5174==    at 0x409D234: QMutex::lock() (qmutex.cpp:154)                            \
 ==5174==    by 0x451F487: KisTile::removeReader() const (kis_tile.cc:152)            \
 ==5174==    by 0x451FE7D: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:118)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==  Address 0x18ee143c is 12 bytes inside a block of size 96 free'd            \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x409D32F: QMutex::~QMutex() (qmutex.cpp:134)                         \
 ==5174==    by 0x451FCD5: KisTile::~KisTile() (kis_tile.cc:107)                      \
 ==5174==    by 0x451B5D1: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                   \
 ==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)   \
 ==5174==                                                                             \
 ==5174== Invalid read of size 4                                                      \
 ==5174==    at 0x409D241: QMutex::lock() (qatomic_i386.h:163)                        \
 ==5174==    by 0x451F487: KisTile::removeReader() const (kis_tile.cc:152)            \
 ==5174==    by 0x451FE7D: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:118)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==  Address 0x18ee1434 is 4 bytes inside a block of size 96 free'd             \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x409D32F: QMutex::~QMutex() (qmutex.cpp:134)                         \
 ==5174==    by 0x451FCD5: KisTile::~KisTile() (kis_tile.cc:107)                      \
 ==5174==    by 0x451B5D1: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
 ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260)                                                        \
 ==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                  \
 ==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)   \
 ==5174==                                                                             \
 ==5174== Invalid read of size 4                                                      \
 ==5174==    at 0x409D24C: QMutex::lock() (qmutex.cpp:177)                            \
 ==5174==    by 0x451F487: KisTile::removeReader() const (kis_tile.cc:152)            \
 ==5174==    by 0x451FE7D: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:118)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==  Address 0xf2b41a8 is 32 bytes inside a block of size 36 free'd             \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x451B5D9: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
 ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260)                                                        \
 ==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                  \
 ==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)   \
 ==5174==    by 0x43A3B54: \
KisMaskManager::createTransparencyMask(KisSharedPtr<KisNode>, KisSharedPtr<KisNode>) \
(kis_mask_manager.cc:205)                      ==5174==    by 0x43AB8B6: \
KisNodeManager::createNode(QString const&) (kis_node_manager.cpp:254)                 \
 ==5174==                                                                             \
 ==5174== Invalid write of size 4                                                     \
 ==5174==    at 0x409D24E: QMutex::lock() (qmutex.cpp:177)                            \
 ==5174==    by 0x451F487: KisTile::removeReader() const (kis_tile.cc:152)            \
 ==5174==    by 0x451FE7D: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:118)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==  Address 0x18ee143c is 12 bytes inside a block of size 96 free'd            \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x409D32F: QMutex::~QMutex() (qmutex.cpp:134)                         \
 ==5174==    by 0x451FCD5: KisTile::~KisTile() (kis_tile.cc:107)                      \
 ==5174==    by 0x451B5D1: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
 ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260)                                                        \
 ==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                  \
 ==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)   \
 ==5174==                                                                             \
 ==5174== Invalid read of size 4                                                      \
 ==5174==    at 0x409D251: QMutex::lock() (qmutex.cpp:178)                            \
 ==5174==    by 0x451F487: KisTile::removeReader() const (kis_tile.cc:152)            \
 ==5174==    by 0x451FE7D: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:118)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==  Address 0x18ee1440 is 16 bytes inside a block of size 96 free'd            \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x409D32F: QMutex::~QMutex() (qmutex.cpp:134)                         \
 ==5174==    by 0x451FCD5: KisTile::~KisTile() (kis_tile.cc:107)                      \
 ==5174==    by 0x451B5D1: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
 ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260)                                                        \
 ==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                  \
 ==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)   \
 ==5174==                                                                             \
 ==5174== Invalid read of size 4                                                      \
 ==5174==    at 0x451F488: KisTile::removeReader() const (kis_tile.cc:153)            \
 ==5174==    by 0x451FE7D: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:118)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==    by 0x41A3E0F: QObject::event(QEvent*) (qobject.cpp:1110)                 \
 ==5174==  Address 0xf2b4194 is 12 bytes inside a block of size 36 free'd             \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x451B5D9: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109)                                                            \
 ==5174==    by 0x43DF212: KisView2::activeDevice() (kis_view2.cpp:410)               \
 ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260)                                                        \
 ==5174==    by 0x43DED71: KisView2::updateGUI() (kis_view2.cpp:577)                  \
 ==5174==    by 0x439E154: KisMaskManager::masksUpdated() (kis_mask_manager.cc:533)   \
==5174==    by 0x43AB8B6: KisNodeManager::createNode(QString const&) \
(kis_node_manager.cpp:254)                                                            \
 ==5174==                                                                             \
 ==5174== Invalid write of size 4                                                     \
 ==5174==    at 0x451F490: KisTile::removeReader() const (kis_tile.cc:153)            \
 ==5174==    by 0x451FE7D: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:118)                                                            \
 ==5174==    by 0x451A559: KisTiledHLineIterator::operator+=(int) \
(kis_tiledhlineiterator.cc:153)                                                       \
 ==5174==    by 0x458B752: KisHLineConstIterator::operator+=(int) \
(kis_iterator.cc:154)                                                                 \
 ==5174==    by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, \
QRect const&) const (kis_iterators_pixel.h:66)                             ==5174==   \
by 0x458ED46: KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301)             ==5174==   \
by 0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179)  \
 ==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327)                                             \
==5174==    by 0x45BD6E9: KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect \
const&) (kis_projection.cc:165)                                           ==5174==    \
by 0x45BD84D: KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) \
(kis_projection.moc:132)                                               ==5174==    by \
0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477)                  \
 ==5174==    by 0x41A3E0F: QObject::event(QEvent*) (qobject.cpp:1110)                 \
 ==5174==  Address 0xf2b4194 is 12 bytes inside a block of size 36 free'd             \
 ==5174==    at 0x40249DA: operator delete(void*) (vg_replace_malloc.c:342)           \
 ==5174==    by 0x451B5D9: KisTiledDataManager::~KisTiledDataManager() \
(kis_tileddatamanager.cc:140)                                                         \
 ==5174==    by 0x45CBBE9: \
KisSelection::setPixelSelection(KisSharedPtr<KisPixelSelection>) \
(kis_datamanager.h:48)                                             ==5174==    by \
0x45CBD79: KisSelection::getOrCreatePixelSelection() (kis_selection.cc:286)           \
 ==5174==    by 0x43A0E76: KisMaskManager::activeDevice() (kis_mask_manager.cc:172)   \
 ==5174==    by 0x43A88B1: KisNodeManager::activePaintDevice() \
(kis_node_manager.cpp:109) ==5174==    by 0x43DF212: KisView2::activeDevice() \
(kis_view2.cpp:410) ==5174==    by 0x43CFBD3: KisSelectionManager::updateGUI() \
(kis_selection_manager.cc:260) ==5174==    by 0x43DED71: KisView2::updateGUI() \
(kis_view2.cpp:577) ==5174==    by 0x439E154: KisMaskManager::masksUpdated() \
(kis_mask_manager.cc:533) ==5174==    by 0x43A3B54: \
KisMaskManager::createTransparencyMask(KisSharedPtr<KisNode>, KisSharedPtr<KisNode>) \
(kis_mask_manager.cc:205) ==5174==    by 0x43AB8B6: \
KisNodeManager::createNode(QString const&) (kis_node_manager.cpp:254) ==5174==
==5174== Invalid write of size 1
==5174==    at 0x4524587: KisTileManager::maySwapTile(KisTile const*) \
(kis_tilemanager.cc:244) ==5174==    by 0x451F4A5: KisTile::removeReader() const \
(kis_tile.cc:154) ==5174==    by 0x451FE7D: KisTiledIterator::fetchTileData(int, int) \
(kis_tilediterator.cc:118) ==5174==    by 0x451A559: \
KisTiledHLineIterator::operator+=(int) (kis_tiledhlineiterator.cc:153) ==5174==    by \
0x458B752: KisHLineConstIterator::operator+=(int) (kis_iterator.cc:154) ==5174==    \
by 0x45E08C0: KisTransparencyMask::apply(KisSharedPtr<KisPaintDevice>, QRect const&) \
const (kis_iterators_pixel.h:66) ==5174==    by 0x458ED46: \
KisLayer::applyEffectMasks(KisSharedPtr<KisPaintDevice>, \
KisSharedPtr<KisPaintDevice>, QRect const&) (kis_layer.cc:301) ==5174==    by \
0x45AA381: KisPaintLayer::updateProjection(QRect const&) (kis_paint_layer.cc:179) \
==5174==    by 0x45D476B: KisTopDownUpdateStrategy::setDirty(QRect const&) \
(kis_top_down_update_strategy.cpp:327) ==5174==    by 0x45BD6E9: \
KisImageUpdater::startUpdate(KisSharedPtr<KisNode>, QRect const&) \
(kis_projection.cc:165) ==5174==    by 0x45BD84D: \
KisImageUpdater::qt_metacall(QMetaObject::Call, int, void**) (kis_projection.moc:132) \
==5174==    by 0x41A233A: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:477) \
                ==5174==  Address 0x1f is not stack'd, malloc'd or (recently) free'd
KCrash: Application 'krita' crashing...
sock_file=/home/cyrille/.kde/socket-blade/kdeinit4__0
==5174==
==5174== ERROR SUMMARY: 3586632 errors from 42 contexts (suppressed: 3852 from 8)
==5174== malloc/free: in use at exit: 96,976,401 bytes in 574,721 blocks.
==5174== malloc/free: 3,714,117 allocs, 3,139,396 frees, 730,725,630 bytes allocated.
==5174== For counts of detected errors, rerun with: -v
==5174== Use --track-origins=yes to see where uninitialised values come from
==5174== searching for pointers to 574,721 not-freed blocks.
==5174== checked 144,213,428 bytes.
==5174==
==5174== LEAK SUMMARY:
==5174==    definitely lost: 460,305 bytes in 11,403 blocks.
==5174==      possibly lost: 1,046,081 bytes in 10,298 blocks.
==5174==    still reachable: 95,470,015 bytes in 553,020 blocks.
==5174==         suppressed: 0 bytes in 0 blocks.
==5174== Rerun with --leak-check=full to see details of leaked memory.
zsh: killed     valgrind krita
1:15 cyrille@blade ~/kde4%



_______________________________________________
kimageshop mailing list
kimageshop@kde.org
https://mail.kde.org/mailman/listinfo/kimageshop


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic