[Digikam-devel] crashing with old kipi plugins

Gilles Caulier caulier.gilles at gmail.com
Sun Sep 16 09:49:07 BST 2012


Nicolas,

I complete to patch libkipi and all kipi plugins to prevent crash if
older plugins are installed on computer at the same time than new one.

You can create 3.0.0-beta1 tarball when you want...

Gilles Caulier

2012/9/15 Gilles Caulier <caulier.gilles at gmail.com>:
> libkipi is now patched with desktop file solution. It work :
>
> http://commits.kde.org/libkipi/ef8501cfa0b2f88fed4b8d081434c186df794fb0
>
> I started to patch some plugins :
>
> http://commits.kde.org/kipi-plugins/934c64e7e6fc55bd2a9fb2dd98cd41017ae19687
>
> I will complete all others plugins before tomorrow evening.
>
> Nicolas, please take a care to not release 3.0.0-beta1 before that i
> completed this patch.
> In all case i will mail you when all is ready...
>
> Gilles
>
> 2012/9/15 Gilles Caulier <caulier.gilles at gmail.com>:
>> Marcel,
>>
>> Just for info, i investigated yesterday evening why KipiBinaryVersion
>> property in KIPI::Plugin doesn't work.
>>
>> In fact set this property directly in libkipi as well is definitively
>> wrong, because this init this value always in plugin instance when
>> constructor is called. It must be do in plugin constructor as well. In
>> this case it work fine. This require to patch all plugin of course.
>>
>> But, other problem appears with older plugins version, especially the
>> destructor, which is only QObject based class instead
>> QObject+KXMLGUIClient. I able to disable to load plugin is
>> KipiBinaryVersion is not fine, but later plugin instance is deleted.
>> destructor is called, and... KXMLGUIClient is called in which crash
>> KDELibs, because plugin is not linked with this class...
>>
>> Commenting plugin delete code in plugin loader is not a solution : we
>> don't have a memory leak, and digiKam start properly, but at end,
>> because Qt will try to delete plugin object from memory, it will crash
>> digiKam...
>>
>> So, definitively, .desktop file way must be used here...
>>
>> Gilles



More information about the Digikam-devel mailing list