KoColorSpaceRegistry.cpp (krita-5.1.3.tar.xz) | : | KoColorSpaceRegistry.cpp (krita-5.1.4.tar.xz) | ||
---|---|---|---|---|
skipping to change at line 200 | skipping to change at line 200 | |||
KoPluginLoader::instance()->load("Krita/ColorSpaceExtension", "[X-Pigment-Pl uginVersion] == 28", configExtensions); | KoPluginLoader::instance()->load("Krita/ColorSpaceExtension", "[X-Pigment-Pl uginVersion] == 28", configExtensions); | |||
dbgPigment << "Loaded the following colorspaces:"; | dbgPigment << "Loaded the following colorspaces:"; | |||
Q_FOREACH (const KoID& id, listKeys()) { | Q_FOREACH (const KoID& id, listKeys()) { | |||
dbgPigment << "\t" << id.id() << "," << id.name(); | dbgPigment << "\t" << id.id() << "," << id.name(); | |||
} | } | |||
} | } | |||
KoColorSpaceRegistry::KoColorSpaceRegistry() : d(new Private(this)) | KoColorSpaceRegistry::KoColorSpaceRegistry() : d(new Private(this)) | |||
{ | { | |||
d->colorConversionSystem = nullptr; | d->colorConversionSystem = 0; | |||
d->colorConversionCache = nullptr; | d->colorConversionCache = 0; | |||
} | } | |||
KoColorSpaceRegistry::~KoColorSpaceRegistry() | KoColorSpaceRegistry::~KoColorSpaceRegistry() | |||
{ | { | |||
delete d->colorConversionSystem; | // Just leak on exit... It's faster. | |||
d->colorConversionSystem = nullptr; | // delete d->colorConversionSystem; | |||
// Q_FOREACH (KoColorProfile* profile, d->profileMap) { | ||||
// delete profile; | ||||
// } | ||||
// d->profileMap.clear(); | ||||
// Q_FOREACH (const KoColorSpace * cs, d->csMap) { | ||||
// cs->d->deletability = OwnedByRegistryRegistryDeletes; | ||||
// } | ||||
// d->csMap.clear(); | ||||
// // deleting colorspaces calls a function in the cache | ||||
// delete d->colorConversionCache; | ||||
// d->colorConversionCache = 0; | ||||
Q_FOREACH (const KoColorSpace * cs, d->csMap) { | // // Delete the colorspace factories | |||
cs->d->deletability = OwnedByRegistryRegistryDeletes; | // qDeleteAll(d->localFactories); | |||
delete cs; | ||||
} | ||||
d->csMap.clear(); | ||||
// deleting colorspaces calls a function in the cache | ||||
delete d->colorConversionCache; | ||||
d->colorConversionCache = nullptr; | ||||
// Delete the colorspace factories | ||||
Q_FOREACH(KoColorSpaceFactory *f, d->colorSpaceFactoryRegistry.values()) { | ||||
d->colorSpaceFactoryRegistry.remove(f->id()); | ||||
delete f; | ||||
} | ||||
Q_FOREACH(KoColorSpaceFactory *f, d->colorSpaceFactoryRegistry.doubleEntries | ||||
()) { | ||||
delete f; | ||||
} | ||||
delete d; | delete d; | |||
} | } | |||
void KoColorSpaceRegistry::add(KoColorSpaceFactory* item) | void KoColorSpaceRegistry::add(KoColorSpaceFactory* item) | |||
{ | { | |||
QWriteLocker l(&d->registrylock); | QWriteLocker l(&d->registrylock); | |||
if (d->colorSpaceFactoryRegistry.contains(item->id())) { | ||||
const KoColorSpaceFactory *original = | ||||
d->colorSpaceFactoryRegistry.get(item->id()); | ||||
warnPigment << "Replacing color space factory" << item->id() | ||||
<< item->name() << "with" << original->id() | ||||
<< original->name(); | ||||
} | ||||
d->colorSpaceFactoryRegistry.add(item); | d->colorSpaceFactoryRegistry.add(item); | |||
d->colorConversionSystem->insertColorSpace(item); | d->colorConversionSystem->insertColorSpace(item); | |||
} | } | |||
void KoColorSpaceRegistry::remove(KoColorSpaceFactory* item) | void KoColorSpaceRegistry::remove(KoColorSpaceFactory* item) | |||
{ | { | |||
QWriteLocker l(&d->registrylock); | QWriteLocker l(&d->registrylock); | |||
QList<QString> toremove; | QList<QString> toremove; | |||
Q_FOREACH (const KoColorSpace * cs, d->csMap) { | Q_FOREACH (const KoColorSpace * cs, d->csMap) { | |||
End of changes. 4 change blocks. | ||||
30 lines changed or deleted | 19 lines changed or added |