summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kcminit/main.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/kcminit/main.cpp b/kcminit/main.cpp
index 230d4c3dd..47dc60fe6 100644
--- a/kcminit/main.cpp
+++ b/kcminit/main.cpp
@@ -112,16 +112,25 @@ void KCMInit::runModules( int phase )
TQString libName = TQString("kcm_%1").arg(library);
+ TQString factoryName = service->property("X-TDE-FactoryName", TQVariant::String).toString();
+ if (!factoryName.isEmpty())
+ {
+ factoryName = ":" + factoryName;
+ }
+ TQString libFactoryName = libName + factoryName;
+
// try to load the library
- if (! alreadyInitialized.contains( libName.ascii() )) {
+ if (!alreadyInitialized.contains( libFactoryName.ascii() )) {
if (!runModule(libName, service)) {
libName = TQString("libkcm_%1").arg(library);
- if (! alreadyInitialized.contains( libName.ascii() )) {
+ libFactoryName = libName + factoryName;
+ if (!alreadyInitialized.contains( libFactoryName.ascii() )) {
runModule(libName, service);
- alreadyInitialized.append( libName.ascii() );
+ alreadyInitialized.append( libFactoryName.ascii() );
}
- } else
- alreadyInitialized.append( libName.ascii() );
+ } else {
+ alreadyInitialized.append( libFactoryName.ascii() );
+ }
}
}
}