also look for ndof plugin in $HOME/.blender/plugins/3DxNdofBlender.plug, for linux distro's where blender is installed in /usr/bin/blender, installing plugins in /usr/bin/plugins would not be acceptable.

This commit is contained in:
Campbell Barton 2008-05-04 11:00:33 +00:00
parent 0dfd373c39
commit 5e3f871f65

@ -927,6 +927,42 @@ void window_open_ndof(Window* win)
} }
ndofLib = PIL_dynlib_open(plug_path); ndofLib = PIL_dynlib_open(plug_path);
/* On systems where blender is installed in /usr/bin/blender, ~/.blender/plugins/ is a better place to look */
if (ndofLib==NULL) {
if (plug_path) {
MEM_freeN(plug_path);
}
inst_path = BLI_gethome();
if (inst_path) {
size_t len = strlen(inst_path) + strlen(plug_dir) + strlen(PATH_SEP)*2
+ strlen(plug_name) + 1;
if (!strstr(inst_path, ".blender")) {
len += strlen(".blender") + strlen(PATH_SEP);
}
plug_path = MEM_mallocN(len, "ndofpluginpath");
if (plug_path) {
strncpy(plug_path, inst_path, len);
strcat(plug_path, PATH_SEP);
if (!strstr(inst_path, ".blender")) {
strcat(plug_path, ".blender");
strcat(plug_path, PATH_SEP);
}
strcat(plug_path, plug_dir);
strcat(plug_path, PATH_SEP);
strcat(plug_path, plug_name);
}
}
ndofLib = PIL_dynlib_open(plug_path);
}
#if 0 #if 0
fprintf(stderr, "plugin path=%s; ndofLib=%p\n", plug_path, (void*)ndofLib); fprintf(stderr, "plugin path=%s; ndofLib=%p\n", plug_path, (void*)ndofLib);
#endif #endif