24 lines
1.1 KiB
Diff
24 lines
1.1 KiB
Diff
diff -uNr ogre-1.9.0/OgreMain/src/OgreDynLib.cpp ogre-1.9.0.dynlib-allow-no-so/OgreMain/src/OgreDynLib.cpp
|
|
--- ogre-1.9.0/OgreMain/src/OgreDynLib.cpp 2013-12-01 21:28:12.000000000 +0400
|
|
+++ ogre-1.9.0.dynlib-allow-no-so/OgreMain/src/OgreDynLib.cpp 2014-06-07 22:22:44.500257614 +0400
|
|
@@ -76,7 +76,9 @@
|
|
String name = mName;
|
|
#if OGRE_PLATFORM == OGRE_PLATFORM_LINUX || OGRE_PLATFORM == OGRE_PLATFORM_NACL
|
|
// dlopen() does not add .so to the filename, like windows does for .dll
|
|
- if (name.find(".so") == String::npos)
|
|
+ mInst = (DYNLIB_HANDLE)DYNLIB_LOAD( name.c_str() );
|
|
+ // Only add .so if open without it failed
|
|
+ if ((!mInst) && (name.find(".so") == String::npos))
|
|
{
|
|
name += ".so.";
|
|
name += StringConverter::toString(OGRE_VERSION_MAJOR) + ".";
|
|
@@ -93,7 +95,7 @@
|
|
if (name.substr(name.length() - 4, 4) != ".dll")
|
|
name += ".dll";
|
|
#endif
|
|
- mInst = (DYNLIB_HANDLE)DYNLIB_LOAD( name.c_str() );
|
|
+ if( !mInst ) mInst = (DYNLIB_HANDLE)DYNLIB_LOAD( name.c_str() );
|
|
#if OGRE_PLATFORM == OGRE_PLATFORM_APPLE
|
|
if(!mInst)
|
|
{
|