[PATCH] kcmoduleinfo [WAS] Plugin linking problem

Rafael Fernández López ereslibre at gmail.com
Thu Aug 9 22:36:25 BST 2007


Hi David,


The main problem was here (at kcmoduleinfo.cpp):

-   if( !lib.startsWith( QLatin1String( "kcm_" ) ) )
-     lib = QLatin1String( "kcm_" ) + lib;

When it tries to load the KCM factory from the library it will fail, because
if the library is " foo.so", it will try to load from "kcm_foo.so", what
won't find.

For that reason I'm removing that as well as this change on the same file:

-  handle = tmp.isValid() ? tmp.toString() :
lib.right( lib.length() - 4 ); // lib without kcm_ prefix
+  handle = tmp.isValid() ? tmp.toString() : lib;

This way what I've been working on is adapting all *.desktop files that had
X-KDE-Library variable without kcm_ on the beginning, and of course, fixing
some .cpp files that hadn't X-KDE-FactoryName on their .desktop files
(because there X-KDE-Library was taken), and as far as it was modified
adding "kcm_", it was needed to add "kcm_" on the
K_EXPORT_COMPONENT_FACTORY.

Everything on kdebase/kdelibs/kdepimlibs (I have checked all I think) works.
I have to fix the rest of modules. kdevplatform and kdevelop were
contributed by apaku, and I just need to search for KCModule on the rest of
*.desktop files on the rest of modules (I don't think they will be too
much).


Bye and thanks,
Rafael Fernández López.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20070809/e6eded4c/attachment.htm>


More information about the kde-core-devel mailing list