[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14673] trunk/blender/source/blender/src/ ghostwinlay.c: 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 .

Campbell Barton ideasman42 at gmail.com
Sun May 4 13:00:35 CEST 2008


Revision: 14673
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14673
Author:   campbellbarton
Date:     2008-05-04 13:00:33 +0200 (Sun, 04 May 2008)

Log Message:
-----------
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.

Modified Paths:
--------------
    trunk/blender/source/blender/src/ghostwinlay.c

Modified: trunk/blender/source/blender/src/ghostwinlay.c
===================================================================
--- trunk/blender/source/blender/src/ghostwinlay.c	2008-05-04 10:53:47 UTC (rev 14672)
+++ trunk/blender/source/blender/src/ghostwinlay.c	2008-05-04 11:00:33 UTC (rev 14673)
@@ -927,6 +927,42 @@
 	}
 	
 	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
 	fprintf(stderr, "plugin path=%s; ndofLib=%p\n", plug_path, (void*)ndofLib);
 #endif





More information about the Bf-blender-cvs mailing list