Index: /titan/plugins/TopfieldVFD/TopfieldVFD.c
===================================================================
--- /titan/plugins/TopfieldVFD/TopfieldVFD.c	(revision 17096)
+++ /titan/plugins/TopfieldVFD/TopfieldVFD.c	(revision 17097)
@@ -11,4 +11,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 
 #include "../titan/struct.h"
Index: /titan/plugins/browser/browser.c
===================================================================
--- /titan/plugins/browser/browser.c	(revision 17096)
+++ /titan/plugins/browser/browser.c	(revision 17097)
@@ -9,4 +9,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 
 //wird beim laden ausgefuehrt
Index: /titan/plugins/callmonitor1/callmonitor1.c
===================================================================
--- /titan/plugins/callmonitor1/callmonitor1.c	(revision 17096)
+++ /titan/plugins/callmonitor1/callmonitor1.c	(revision 17097)
@@ -12,4 +12,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 
 //wird beim laden ausgefuehrt
Index: /titan/plugins/catcatch/catcatch.c
===================================================================
--- /titan/plugins/catcatch/catcatch.c	(revision 17096)
+++ /titan/plugins/catcatch/catcatch.c	(revision 17097)
@@ -16,4 +16,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 
 //wird beim laden ausgefuehrt
Index: /titan/plugins/dlna/dlna.c
===================================================================
--- /titan/plugins/dlna/dlna.c	(revision 17096)
+++ /titan/plugins/dlna/dlna.c	(revision 17097)
@@ -9,4 +9,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 
 //wird beim laden ausgefuehrt
Index: /titan/plugins/dvdplayer/dvdplay.c
===================================================================
--- /titan/plugins/dvdplayer/dvdplay.c	(revision 17096)
+++ /titan/plugins/dvdplayer/dvdplay.c	(revision 17097)
@@ -9,4 +9,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 
 //wird beim laden ausgefuehrt
Index: /titan/plugins/filemanager/filemanager.c
===================================================================
--- /titan/plugins/filemanager/filemanager.c	(revision 17096)
+++ /titan/plugins/filemanager/filemanager.c	(revision 17097)
@@ -9,4 +9,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 struct skin* pluginmenu = NULL;
 int pluginflag = 0;
Index: /titan/plugins/gmediarender/gmediarender.c
===================================================================
--- /titan/plugins/gmediarender/gmediarender.c	(revision 17096)
+++ /titan/plugins/gmediarender/gmediarender.c	(revision 17097)
@@ -9,4 +9,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 
 //wird beim laden ausgefuehrt
Index: /titan/plugins/hbbtv/hbbtv.c
===================================================================
--- /titan/plugins/hbbtv/hbbtv.c	(revision 17096)
+++ /titan/plugins/hbbtv/hbbtv.c	(revision 17097)
@@ -9,4 +9,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 
 //wird beim laden ausgefuehrt
Index: /titan/plugins/hello/hello.c
===================================================================
--- /titan/plugins/hello/hello.c	(revision 17096)
+++ /titan/plugins/hello/hello.c	(revision 17097)
@@ -15,4 +15,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 
 //wird beim laden ausgefuehrt
Index: /titan/plugins/imdb/imdb.c
===================================================================
--- /titan/plugins/imdb/imdb.c	(revision 17096)
+++ /titan/plugins/imdb/imdb.c	(revision 17097)
@@ -9,4 +9,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 struct skin* pluginmenu = NULL;
 int pluginflag = 0; //don't show the plugin in pluginmanager
Index: /titan/plugins/imdbapi/imdbapi.c
===================================================================
--- /titan/plugins/imdbapi/imdbapi.c	(revision 17096)
+++ /titan/plugins/imdbapi/imdbapi.c	(revision 17097)
@@ -9,4 +9,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 struct skin* pluginmenu = NULL;
 int pluginflag = 0; //don't show the plugin in pluginmanager
Index: /titan/plugins/instar/instar.c
===================================================================
--- /titan/plugins/instar/instar.c	(revision 17096)
+++ /titan/plugins/instar/instar.c	(revision 17097)
@@ -13,4 +13,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 
 //wird beim laden ausgefuehrt
Index: /titan/plugins/keylock/keylock.c
===================================================================
--- /titan/plugins/keylock/keylock.c	(revision 17096)
+++ /titan/plugins/keylock/keylock.c	(revision 17097)
@@ -8,4 +8,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 //struct skin* pluginmenu = NULL;
 //int pluginflag = 1; //don't show the plugin in pluginmanager
Index: /titan/plugins/lcdpearl1/lcdpearl1.c
===================================================================
--- /titan/plugins/lcdpearl1/lcdpearl1.c	(revision 17096)
+++ /titan/plugins/lcdpearl1/lcdpearl1.c	(revision 17097)
@@ -10,4 +10,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 //struct skin* pluginmenu = NULL;
 //int pluginflag = 1; //don't show the plugin in pluginmanager
Index: /titan/plugins/lcdsamsung/lcdsamsung.c
===================================================================
--- /titan/plugins/lcdsamsung/lcdsamsung.c	(revision 17096)
+++ /titan/plugins/lcdsamsung/lcdsamsung.c	(revision 17097)
@@ -10,5 +10,5 @@
 
 int pluginaktiv = 0;
-
+int pluginversion = PLUGINVERSION;
 
 struct stimerthread* LCD_Samsung1thread = NULL;
Index: /titan/plugins/mboxinfo/mboxinfo.c
===================================================================
--- /titan/plugins/mboxinfo/mboxinfo.c	(revision 17096)
+++ /titan/plugins/mboxinfo/mboxinfo.c	(revision 17097)
@@ -8,4 +8,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 
 //wird beim laden ausgefuehrt
Index: /titan/plugins/mc/mc.c
===================================================================
--- /titan/plugins/mc/mc.c	(revision 17096)
+++ /titan/plugins/mc/mc.c	(revision 17097)
@@ -35,4 +35,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 struct skin* pluginmenu = NULL;
 int pluginflag = 1; //don't show the plugin in pluginmanager
Index: /titan/plugins/networkbrowser/networkbrowser.c
===================================================================
--- /titan/plugins/networkbrowser/networkbrowser.c	(revision 17096)
+++ /titan/plugins/networkbrowser/networkbrowser.c	(revision 17097)
@@ -12,4 +12,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 struct skin* pluginmenu = NULL;
 int pluginflag = 1; //don't show the plugin in pluginmanager
Index: /titan/plugins/news/news.c
===================================================================
--- /titan/plugins/news/news.c	(revision 17096)
+++ /titan/plugins/news/news.c	(revision 17097)
@@ -9,4 +9,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 
 //wird beim laden ausgefuehrt
Index: /titan/plugins/optimize/optimize.c
===================================================================
--- /titan/plugins/optimize/optimize.c	(revision 17096)
+++ /titan/plugins/optimize/optimize.c	(revision 17097)
@@ -9,4 +9,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 
 //wird beim laden ausgefuehrt
Index: /titan/plugins/panel/panel.c
===================================================================
--- /titan/plugins/panel/panel.c	(revision 17096)
+++ /titan/plugins/panel/panel.c	(revision 17097)
@@ -18,4 +18,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 //struct skin* pluginmenu = NULL;
 //int pluginflag = 1; //don't show the plugin in pluginmanager
Index: /titan/plugins/permtime/permtime.c
===================================================================
--- /titan/plugins/permtime/permtime.c	(revision 17096)
+++ /titan/plugins/permtime/permtime.c	(revision 17097)
@@ -8,4 +8,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 //struct skin* pluginmenu = NULL;
 //int pluginflag = 1; //don't show the plugin in pluginmanager
Index: /titan/plugins/rgui/rgui.c
===================================================================
--- /titan/plugins/rgui/rgui.c	(revision 17096)
+++ /titan/plugins/rgui/rgui.c	(revision 17097)
@@ -16,4 +16,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 
 //wird beim laden ausgefuehrt
Index: /titan/plugins/scriptexec/scriptexec.c
===================================================================
--- /titan/plugins/scriptexec/scriptexec.c	(revision 17096)
+++ /titan/plugins/scriptexec/scriptexec.c	(revision 17097)
@@ -16,4 +16,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 
 //wird beim laden ausgefuehrt
Index: /titan/plugins/stock/stock.c
===================================================================
--- /titan/plugins/stock/stock.c	(revision 17096)
+++ /titan/plugins/stock/stock.c	(revision 17097)
@@ -9,4 +9,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 struct skin* pluginmenu = NULL;
 int pluginflag = 0;
Index: /titan/plugins/stopifnotused/stopifnotused.c
===================================================================
--- /titan/plugins/stopifnotused/stopifnotused.c	(revision 17096)
+++ /titan/plugins/stopifnotused/stopifnotused.c	(revision 17097)
@@ -9,4 +9,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 
 struct stimerthread* StopIfNotUsed = NULL;
Index: /titan/plugins/streaminfo/streaminfo.c
===================================================================
--- /titan/plugins/streaminfo/streaminfo.c	(revision 17096)
+++ /titan/plugins/streaminfo/streaminfo.c	(revision 17097)
@@ -9,4 +9,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 struct skin* pluginmenu = NULL;
 int pluginflag = 0;
Index: /titan/plugins/tithek/tithek.c
===================================================================
--- /titan/plugins/tithek/tithek.c	(revision 17096)
+++ /titan/plugins/tithek/tithek.c	(revision 17097)
@@ -10,4 +10,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 
 //wird beim laden ausgefuehrt
Index: /titan/plugins/tmc/tmc.c
===================================================================
--- /titan/plugins/tmc/tmc.c	(revision 17096)
+++ /titan/plugins/tmc/tmc.c	(revision 17097)
@@ -9,4 +9,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 //struct skin* pluginmenu = NULL;
 //int pluginflag = 0;
Index: /titan/plugins/tmdb/tmdb.c
===================================================================
--- /titan/plugins/tmdb/tmdb.c	(revision 17096)
+++ /titan/plugins/tmdb/tmdb.c	(revision 17097)
@@ -9,4 +9,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 struct skin* pluginmenu = NULL;
 int pluginflag = 0; //don't show the plugin in pluginmanager
Index: /titan/plugins/weather/weather.c
===================================================================
--- /titan/plugins/weather/weather.c	(revision 17096)
+++ /titan/plugins/weather/weather.c	(revision 17097)
@@ -9,4 +9,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 
 //wird beim laden ausgefuehrt
Index: /titan/plugins/wins3/wins3.c
===================================================================
--- /titan/plugins/wins3/wins3.c	(revision 17096)
+++ /titan/plugins/wins3/wins3.c	(revision 17097)
@@ -16,4 +16,5 @@
 
 int pluginaktiv = 0;
+int pluginversion = PLUGINVERSION;
 
 //wird beim laden ausgefuehrt
Index: /titan/titan/plugin.h
===================================================================
--- /titan/titan/plugin.h	(revision 17096)
+++ /titan/titan/plugin.h	(revision 17097)
@@ -118,4 +118,5 @@
 	int *pluginflag = NULL;
 	int *pluginaktiv = NULL;
+	int *pluginversion = NULL;
 	void (*initplugin)(void);
 
@@ -142,8 +143,27 @@
 			dlerror();
 
+			//check plugin version
+			pluginversion = dlsym(pluginhandle, "pluginversion");
+			if(pluginversion == NULL || *pluginversion != PLUGINVERSION)
+			{
+				if(pluginversion == NULL)
+				{
+					err("pluginversion not ok titan=%d plugin=NULL (%s)", PLUGINVERSION, pluginpath);
+				}
+				else
+				{
+					err("pluginversion not ok titan=%d plugin=%d (%s)", PLUGINVERSION, *pluginversion, pluginpath);
+				}
+				dlclose(pluginhandle);
+				free(pluginpath); pluginpath = NULL;
+				free(filelist[count]);
+				continue;
+			}
+
 			pluginname = dlsym(pluginhandle, "pluginname");
 			if(pluginname == NULL)
 			{
 				err("not a plugin -> pluginname not found: %s", pluginpath);
+				dlclose(pluginhandle);
 				free(pluginpath); pluginpath = NULL;
 				free(filelist[count]);
Index: /titan/titan/struct.h
===================================================================
--- /titan/titan/struct.h	(revision 17096)
+++ /titan/titan/struct.h	(revision 17097)
@@ -93,4 +93,5 @@
 #define COPYRIGHT "NIT"
 #define CRONTRIBUT "obi, black, dvboxer, oxygen, gost"
+#define PLUGINVERSION 0
 
 #define _(x) gettext(x)
