Index: /trunk/FACT++/src/EventBuilderWrapper.h
===================================================================
--- /trunk/FACT++/src/EventBuilderWrapper.h	(revision 10855)
+++ /trunk/FACT++/src/EventBuilderWrapper.h	(revision 10856)
@@ -79,5 +79,5 @@
     }
 
-    void Start(const vector<string> &addr)
+    void Start(const map<int,string> &addr)
     {
         if (IsThreadRunning())
@@ -89,28 +89,34 @@
         fMsg.Message("Starting EventBuilder thread");
 
-        g_maxBoards = addr.size();
-        g_actBoards = g_maxBoards;
-
-        g_runStat   = kModeRun;
-
-        int i=0;
-        for (vector<string>::const_iterator it=addr.begin(); it!=addr.end(); it++)
+        int cnt = 0;
+        for (int i=0; i<40; i++)
         {
             //g_ip[i].port = 5000;
-            memset(g_ip[i].addr, 0, 100);
+            memset(g_ip[cnt].addr, 0, sizeof(g_ip[cnt].addr));
             //strncpy(g_ip[i].addr, it->c_str(), 99);
 
-            size_t pos = it->find_first_of(':');
+            const map<int,string>::const_iterator it = addr.find(i);
+            if (it==addr.end())
+                continue;
+
+            const string &dest = it->second;
+
+            size_t pos = dest.find_first_of(':');
             if (pos==string::npos)
                 continue;
 
-            string a = it->substr(0, pos);
-            string p = it->substr(pos+1);
-
-            strcpy(g_ip[i].addr, "127.0.0.1");
-            g_ip[i].port = atoi(p.c_str());
-
-            i++;
+            string a = dest.substr(0, pos);
+            string p = dest.substr(pos+1);
+
+            strcpy(g_ip[cnt].addr, "127.0.0.1");
+            g_ip[cnt].port = atoi(p.c_str());
+
+            cnt++;
         }
+
+        g_maxBoards = cnt;
+        g_actBoards = cnt;
+
+        g_runStat   = kModeRun;
 
         fThread = boost::thread(StartEvtBuild);
@@ -146,5 +152,5 @@
 
     bool IsConnected(int i) const     { return gi_NumConnect[i]==7; }
-    bool IsDisconnected(int i) const  { return gi_NumConnect[i]==0; }
+    bool IsDisconnected(int i) const  { return gi_NumConnect[i]<=0; }
     int  GetNumConnected(int i) const { return gi_NumConnect[i]; }
 
