Diffstat (limited to 'microkde/kdecore/klibloader.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | microkde/kdecore/klibloader.cpp | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/microkde/kdecore/klibloader.cpp b/microkde/kdecore/klibloader.cpp index 1410308..130cc7c 100644 --- a/microkde/kdecore/klibloader.cpp +++ b/microkde/kdecore/klibloader.cpp | |||
@@ -156,9 +156,10 @@ KLibFactory* KLibrary::factory() | |||
156 | 156 | ||
157 | void* sym = symbol( symname ); | 157 | void* sym = symbol( symname ); |
158 | if ( !sym ) | 158 | if ( !sym ) |
159 | { | 159 | { |
160 | kdWarning(150) << "KLibrary: The library " << name() << " does not offer an init_" << name() << " function" << endl; | 160 | qDebug("KLibrary: The library %s does not offer an %s function", name().latin1(), symname.data()); |
161 | kdWarning(150) << "KLibrary: The library " << name().latin1() << " does not offer an init_" << name().latin1() << " function" << endl; | ||
161 | return 0; | 162 | return 0; |
162 | } | 163 | } |
163 | 164 | ||
164 | typedef KLibFactory* (*t_func)(); | 165 | typedef KLibFactory* (*t_func)(); |
@@ -367,18 +368,31 @@ QString KLibLoader::findLibrary( const char * name/*US , const KInstance * insta | |||
367 | // (mhk, 20000228) | 368 | // (mhk, 20000228) |
368 | int pos = libname.findRev('/'); | 369 | int pos = libname.findRev('/'); |
369 | if (pos < 0) | 370 | if (pos < 0) |
370 | pos = 0; | 371 | pos = 0; |
371 | if (libname.find('.', pos) < 0) | 372 | /*US |
373 | if (libname.find('.', pos) < 0) { | ||
372 | libname += ".la"; | 374 | libname += ".la"; |
375 | } | ||
376 | */ | ||
377 | //US in the microedition we work only with shared libraries. | ||
378 | if (libname.find('.', pos) < 0) { | ||
379 | libname += ".so"; | ||
380 | } | ||
373 | 381 | ||
374 | // only look up the file if it is not an absolute filename | 382 | // only look up the file if it is not an absolute filename |
375 | // (mhk, 20000228) | 383 | // (mhk, 20000228) |
376 | QString libfile; | 384 | QString libfile; |
377 | if (libname[0] == '/') | 385 | if (libname[0] == '/') |
378 | libfile = libname; | 386 | libfile = libname; |
379 | else | 387 | else |
380 | { | 388 | { |
389 | //US at this point the libname must exist as real filesname. No expansions will be made later | ||
390 | // in findResources. Because of that we prepend the lib prefix here to the name | ||
391 | //US I add also the "lib" prefix. I do not how could this could have worked before without it? | ||
392 | libname.insert(pos, "lib"); | ||
393 | |||
394 | |||
381 | //US libfile = instance->dirs()->findResource( "module", libname ); | 395 | //US libfile = instance->dirs()->findResource( "module", libname ); |
382 | libfile = KGlobal::dirs()->findResource( "module", libname ); | 396 | libfile = KGlobal::dirs()->findResource( "module", libname ); |
383 | if ( libfile.isEmpty() ) | 397 | if ( libfile.isEmpty() ) |
384 | { | 398 | { |
@@ -394,8 +408,11 @@ QString KLibLoader::findLibrary( const char * name/*US , const KInstance * insta | |||
394 | #ifndef NDEBUG | 408 | #ifndef NDEBUG |
395 | kdDebug(150) << "library=" << libname << ": No file names " << libname.data() << " found in paths." << endl; | 409 | kdDebug(150) << "library=" << libname << ": No file names " << libname.data() << " found in paths." << endl; |
396 | #endif | 410 | #endif |
397 | self()->d->errorMessage = i18n("Library files for \"%1\" not found in paths").arg(libname); | 411 | self()->d->errorMessage = i18n("Library files for \"%1\" not found in paths").arg(libname); |
412 | |||
413 | qDebug("KLibLoader::library could not find library: %s", libname.data()); | ||
414 | |||
398 | } | 415 | } |
399 | else | 416 | else |
400 | self()->d->errorMessage = QString::null; | 417 | self()->d->errorMessage = QString::null; |
401 | } | 418 | } |
@@ -453,11 +470,8 @@ KLibrary* KLibLoader::library( const char *name ) | |||
453 | QString libfile = findLibrary( name ); | 470 | QString libfile = findLibrary( name ); |
454 | if ( libfile.isEmpty() ) | 471 | if ( libfile.isEmpty() ) |
455 | return 0; | 472 | return 0; |
456 | 473 | ||
457 | const QString & qpeDir = QPEApplication::qpeDir(); | ||
458 | libfile = qpeDir + libfile; | ||
459 | //US QLibrary *lib = new QLibrary( qpeDir + "/plugins/korganizer/libopiekabc.so", QLibrary::Immediately ); | ||
460 | QLibrary *qlib = new QLibrary( libfile.latin1(), QLibrary::Immediately ); | 474 | QLibrary *qlib = new QLibrary( libfile.latin1(), QLibrary::Immediately ); |
461 | 475 | ||
462 | //US lt_dlhandle handle = lt_dlopen( libfile.latin1() ); | 476 | //US lt_dlhandle handle = lt_dlopen( libfile.latin1() ); |
463 | //US if ( !handle ) | 477 | //US if ( !handle ) |