Diffusion Krita 644dddf84ec6

Fix memory leak in KoGamutMask

Authored by rempt on May 24 2019, 2:01 PM.

Description

Fix memory leak in KoGamutMask

23688== 115,060 (224 direct, 114,836 indirect) bytes in 2 blocks are definitely lost in loss record 12,891 of 12,945

23688== at 0x4C2E68F: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)

23688== by 0x129083D3: QuaZip::QuaZip(QIODevice*) (in /usr/lib64/libquazip5.so.1.0.0)

23688== by 0xA7DC821: KoQuaZipStore::KoQuaZipStore(QIODevice*, KoStore::Mode, QByteArray const&, bool) (KoQuaZipStore.cpp:69)

23688== by 0xA7D5DDF: KoStore::createStore(QIODevice*, KoStore::Mode, QByteArray const&, KoStore::Backend, bool) (KoStore.cpp:110)

23688== by 0x90ED6DE: KoGamutMask::loadFromDevice(QIODevice*) (KoGamutMask.cpp:245)

23688== by 0x90ECEE5: KoGamutMask::load() (KoGamutMask.cpp:211)

23688== by 0x89B4BB3: KoResourceServer<KoGamutMask, PointerStoragePolicy<KoGamutMask> >::loadResources(QStringList) (KoResourceServer.h:203)

23688== by 0x89AC270: KoResourceServerProvider::KoResourceServerProvider() (KoResourceServerProvider.cpp:142)

23688== by 0x89AC6BB: Holder (KoResourceServerProvider.cpp:156)

23688== by 0x89AC6BB: innerFunction (KoResourceServerProvider.cpp:156)

23688== by 0x89AC6BB: operator QGlobalStatic<KoResourceServerProvider, (anonymous namespace)::Q_QGS_s_instance::innerFunction, (anonymous namespace)::Q_QGS_s_instance::guard>::Type* (qglobalstatic.h:134)

23688== by 0x89AC6BB: KoResourceServerProvider::instance() (KoResourceServerProvider.cpp:160)

23688== by 0x5DCE9EB: KisApplication::loadResources() (KisApplication.cpp:287)

23688== by 0x5DD2C4F: KisApplication::start(KisApplicationArguments const&) (KisApplication.cpp:425)

23688== by 0x40698B: main (main.cc:524)

BACKPORT:krita/4.2

Details