aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/mediaplayer/mp_xmmsinterface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/mediaplayer/mp_xmmsinterface.cpp')
-rw-r--r--src/modules/mediaplayer/mp_xmmsinterface.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/modules/mediaplayer/mp_xmmsinterface.cpp b/src/modules/mediaplayer/mp_xmmsinterface.cpp
index 4e0a38a06..f48c75eaa 100644
--- a/src/modules/mediaplayer/mp_xmmsinterface.cpp
+++ b/src/modules/mediaplayer/mp_xmmsinterface.cpp
@@ -89,7 +89,8 @@ KviXmmsInterface::~KviXmmsInterface()
{
if(m_pPlayerLibrary)
{
- kvi_library_close(m_pPlayerLibrary);
+ m_pPlayerLibrary->unload();
+ delete m_pPlayerLibrary;
m_pPlayerLibrary = 0;
}
}
@@ -107,17 +108,18 @@ KviAudaciousClassicInterface::~KviAudaciousClassicInterface()
bool KviXmmsInterface::loadPlayerLibrary()
{
- if(m_pPlayerLibrary)return true;
+ if(m_pPlayerLibrary && m_pPlayerLibrary->isLoaded())return true;
const char **lib_name = m_pLibraryPaths;
while(*lib_name)
{
- m_pPlayerLibrary = kvi_library_load(*lib_name);
- if(m_pPlayerLibrary)
+ m_pPlayerLibrary = new QLibrary(*lib_name);
+ if(m_pPlayerLibrary->load())
{
m_szPlayerLibraryName = *lib_name;
break;
}
+ delete m_pPlayerLibrary;
lib_name++;
}
return true;
@@ -135,7 +137,7 @@ void * KviXmmsInterface::lookupSymbol(const char * szSymbolName)
return 0;
}
}
- void * symptr = kvi_library_symbol(m_pPlayerLibrary,szSymbolName);
+ void * symptr =m_pPlayerLibrary->resolve(szSymbolName);
if(!symptr)
{
QString tmp;