summarylogtreecommitdiffstats
path: root/plugin_dir.patch
blob: 3157c91d284575a8b1a3fa55574d3ad15fd1f335 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
diff -ur cinelerra-4.4.orig/cinelerra/mwindow.C cinelerra-4.4.new/cinelerra/mwindow.C
--- cinelerra-4.4.orig/cinelerra/mwindow.C	2012-09-09 15:56:45.003303505 -0700
+++ cinelerra-4.4.new/cinelerra/mwindow.C	2012-09-09 18:15:33.360657582 -0700
@@ -107,6 +107,7 @@
 #include "zoombar.h"
 
 #include <string.h>
+#include <sys/stat.h>
 
 
 
@@ -376,7 +377,7 @@
 	char index_path[BCTEXTLEN];
 	FILE *index_fd = 0;
 	
-	sprintf(index_path, "%s/%s", path, PLUGIN_FILE);
+	sprintf(index_path, "%s/%s", preferences->index_directory, PLUGIN_FILE);
 //printf("MWindow::init_plugin_path %d %s plugindb=%p\n", __LINE__, index_path, plugindb);
 
 
@@ -401,8 +402,10 @@
 // Create plugin server from index entry
 				PluginServer *new_plugin = new PluginServer(path);
 				result = new_plugin->read_table(index_line);
+				struct stat buffer;
+				int exists = stat(new_plugin->path, &buffer);
 //printf("%p new_plugin=%p %s", result2, new_plugin, index_line);
-				if(!result)
+				if(!result && !exists)
 				{
 					plugindb->append(new_plugin);
 				}