ocount++;
}
- if (icount == 0 || ocount == 0)
+ if (ocount == 0)
return FALSE;
return TRUE;
int err;
/* open the object file */
- dl_handle = dlopen (filename, RTLD_NOW|RTLD_GLOBAL);
+ dl_handle = dlopen (filename, RTLD_NOW);
if (!dl_handle)
{
mlt_log_info( NULL, "%s: error opening shared object file '%s': %s\n",
return;
}
+#ifdef __DARWIN__
+ if (!get_descriptor (0)) {
+ void (*constructor)(void) = dlsym (dl_handle, "_init");
+ if (constructor) constructor();
+ }
+#endif
+
plugin_index = 0;
while ( (descriptor = get_descriptor (plugin_index)) )
{
ladspa_path = g_strdup ("/usr/local/lib/ladspa:/usr/lib/ladspa:/usr/lib64/ladspa");
#endif
- dir = strtok (ladspa_path, ":");
- do
+ for (dir = strtok (ladspa_path, ":"); dir; dir = strtok (NULL, ":"))
plugin_mgr_get_dir_plugins (plugin_mgr, dir);
- while ((dir = strtok (NULL, ":")));
g_free (ladspa_path);
}