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 @@ -154,13 +154,14 @@ KLibFactory* KLibrary::factory() QCString symname; symname.sprintf("init_%s", name().latin1() ); void* sym = symbol( symname ); if ( !sym ) { - kdWarning(150) << "KLibrary: The library " << name() << " does not offer an init_" << name() << " function" << endl; + qDebug("KLibrary: The library %s does not offer an %s function", name().latin1(), symname.data()); + kdWarning(150) << "KLibrary: The library " << name().latin1() << " does not offer an init_" << name().latin1() << " function" << endl; return 0; } typedef KLibFactory* (*t_func)(); t_func func = (t_func)sym; m_factory = func(); @@ -365,22 +366,35 @@ QString KLibLoader::findLibrary( const char * name/*US , const KInstance * insta // only append ".la" if there is no extension // this allows to load non-libtool libraries as well // (mhk, 20000228) int pos = libname.findRev('/'); if (pos < 0) pos = 0; - if (libname.find('.', pos) < 0) +/*US + if (libname.find('.', pos) < 0) { libname += ".la"; + } +*/ +//US in the microedition we work only with shared libraries. + if (libname.find('.', pos) < 0) { + libname += ".so"; + } // only look up the file if it is not an absolute filename // (mhk, 20000228) QString libfile; if (libname[0] == '/') libfile = libname; else { +//US at this point the libname must exist as real filesname. No expansions will be made later +// in findResources. Because of that we prepend the lib prefix here to the name +//US I add also the "lib" prefix. I do not how could this could have worked before without it? + libname.insert(pos, "lib"); + + //US libfile = instance->dirs()->findResource( "module", libname ); libfile = KGlobal::dirs()->findResource( "module", libname ); if ( libfile.isEmpty() ) { //US libfile = instance->dirs()->findResource( "lib", libname ); libfile = KGlobal::dirs()->findResource( "lib", libname ); @@ -392,12 +406,15 @@ QString KLibLoader::findLibrary( const char * name/*US , const KInstance * insta if ( libfile.isEmpty() ) { #ifndef NDEBUG kdDebug(150) << "library=" << libname << ": No file names " << libname.data() << " found in paths." << endl; #endif self()->d->errorMessage = i18n("Library files for \"%1\" not found in paths").arg(libname); + + qDebug("KLibLoader::library could not find library: %s", libname.data()); + } else self()->d->errorMessage = QString::null; } return libfile; } @@ -451,15 +468,12 @@ KLibrary* KLibLoader::library( const char *name ) wrap->ref_count++; } else { QString libfile = findLibrary( name ); if ( libfile.isEmpty() ) return 0; - const QString & qpeDir = QPEApplication::qpeDir(); - libfile = qpeDir + libfile; -//US QLibrary *lib = new QLibrary( qpeDir + "/plugins/korganizer/libopiekabc.so", QLibrary::Immediately ); QLibrary *qlib = new QLibrary( libfile.latin1(), QLibrary::Immediately ); //US lt_dlhandle handle = lt_dlopen( libfile.latin1() ); //US if ( !handle ) if ( !qlib ) { |