self.__arrays = []
for i in range(0, nElems, 2):
if self.GetElement(i+1) != '0':
+diff -Naur ParaView-4.1.0_SRC-orig/ParaViewCore/ClientServerCore/Core/vtkPVPluginLoader.cxx ParaView-4.1.0_SRC-new/ParaViewCore/ClientServerCore/Core/vtkPVPluginLoader.cxx
+--- ParaView-4.1.0_SRC-orig/ParaViewCore/ClientServerCore/Core/vtkPVPluginLoader.cxx 2014-01-11 17:59:57.000000000 +0400
++++ ParaView-4.1.0_SRC-new/ParaViewCore/ClientServerCore/Core/vtkPVPluginLoader.cxx 2014-05-08 11:16:16.000000000 +0400
+@@ -42,6 +42,13 @@
+ #define vtkPVPluginLoaderErrorMacro(x)\
+ if (!no_errors) {vtkErrorMacro(<< x);} this->SetErrorString(x);
+
++
++#if defined(_WIN32) && !defined(__CYGWIN__)
++const char ENV_PATH_SEP=';';
++#else
++const char ENV_PATH_SEP=':';
++#endif
++
+ namespace
+ {
+ // This is an helper class used for plugins constructed from XMLs.
+@@ -195,7 +202,7 @@
+ appDir += "/plugins";
+ if(paths.size())
+ {
+- paths += ";";
++ paths += ENV_PATH_SEP/*";"*/;
+ }
+ paths += appDir;
+ }
+@@ -227,10 +234,15 @@
+ << this->SearchPaths);
+
+ std::vector<std::string> paths;
+- vtksys::SystemTools::Split(this->SearchPaths, paths, ';');
++ vtksys::SystemTools::Split(this->SearchPaths, paths, ENV_PATH_SEP/*';'*/);
+ for (size_t cc=0; cc < paths.size(); cc++)
+ {
+- this->LoadPluginsFromPath(paths[cc].c_str());
++ std::vector<std::string> subpaths;
++ vtksys::SystemTools::Split(paths[cc].c_str(), subpaths, ';');
++ for (size_t scc=0; scc < subpaths.size(); scc++)
++ {
++ this->LoadPluginsFromPath(subpaths[scc].c_str());
++ }
+ }
+ #else
+ vtkPVPluginLoaderDebugMacro(