21 lines
1020 B
Diff
21 lines
1020 B
Diff
|
--- xine-lib-1.1.1/src/xine-engine/load_plugins.c.~1~ 2005-09-19 09:14:02.000000000 -0700
|
||
|
+++ xine-lib-1.1.1/src/xine-engine/load_plugins.c 2006-04-22 23:07:33.000000000 -0700
|
||
|
@@ -591,7 +591,7 @@ static void collect_plugins(xine_t *this
|
||
|
printf("load_plugins: %s not cached\n", str);
|
||
|
#endif
|
||
|
|
||
|
- if(!info && (lib = dlopen (str, RTLD_LAZY | RTLD_GLOBAL)) == NULL) {
|
||
|
+ if(!info && (lib = dlopen (str, RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND)) == NULL) {
|
||
|
const char *error = dlerror();
|
||
|
/* too noisy -- but good to catch unresolved references */
|
||
|
xprintf(this, XINE_VERBOSITY_LOG,
|
||
|
@@ -649,7 +649,7 @@ static int _load_plugin_class(xine_t *th
|
||
|
/* load the dynamic library if needed */
|
||
|
if (!node->file->lib_handle) {
|
||
|
lprintf("dlopen %s\n", filename);
|
||
|
- if ((lib = dlopen (filename, RTLD_LAZY | RTLD_GLOBAL)) == NULL) {
|
||
|
+ if ((lib = dlopen (filename, RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND)) == NULL) {
|
||
|
const char *error = dlerror();
|
||
|
|
||
|
xine_log (this, XINE_LOG_PLUGIN,
|