[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#585751: Too paranoid version check in kpluginloader.cpp:243

submitter 585751 !
clone 585751 -1
reassign -1 libqtcore4
retitle -1 qlibrary.cpp:isPlugin() won't load a plugin built with later Qt 4.x


On sekmadienis 13 Birželis 2010 23:55:46 Modestas Vainius wrote:
> Plugin version check at kpluginloader.cpp:243
> (kde_plugin_verification_data) is too paranoid and does not accept plugins
> compiled against later release of kde4libs. This behaviour is harmful when
> dependencies are enforced at the symbol level and may cause breakages like
> in #585751. It's an open question how much that version check should be
> relaxed (to accept minor or even major releases).

A similar check exists in src/corelib/plugin/qlibrary.cpp:isPlugin() [1] as 
well but it's a bit less paranoid and will refuse to load a plugin if it was 
built with later major Qt release (4.x). This still does not work with symbol 
files well. So either we need to bump symbol versions to the current 4.x 
series each new major release or just remove that check.

[1] if ((qt_version & 0x00ff00) > (QT_VERSION & 0x00ff00) || (qt_version & 
0xff0000) != (QT_VERSION & 0xff0000)) {
     errorString = QLibrary::tr("The plugin '%1' uses incompatible Qt library. 
(%2.%3.%4) [%5]")

Modestas Vainius <modestas@vainius.eu>

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply to: