Index: /trunk/FACT++/src/EventBuilderWrapper.h
===================================================================
--- /trunk/FACT++/src/EventBuilderWrapper.h	(revision 15293)
+++ /trunk/FACT++/src/EventBuilderWrapper.h	(revision 15294)
@@ -365,10 +365,17 @@
         }
 
-        g_port[i].sockAddr.sin_family      = AF_INET;
-        g_port[i].sockAddr.sin_addr.s_addr = htonl(addr.address().to_v4().to_ulong());
-        g_port[i].sockAddr.sin_port        = htons(addr.port());
+        struct sockaddr_in sockaddr; //IP for each socket
+        sockaddr.sin_family      = AF_INET;
+        sockaddr.sin_addr.s_addr = htonl(addr.address().to_v4().to_ulong());
+        sockaddr.sin_port        = htons(addr.port());
+        memcpy(&g_port[i].sockAddr, &sockaddr, sizeof(struct sockaddr_in));
+
         // In this order
         g_port[i].sockDef = 1;
-    }
+
+        fDimIncomplete.setQuality(0);
+        fDimIncomplete.Update(uint64_t(0));
+    }
+
     void DisconnectSlot(unsigned int i)
     {
@@ -378,7 +385,13 @@
         g_port[i].sockDef = 0;
         // In this order
-        g_port[i].sockAddr.sin_family      = AF_INET;
-        g_port[i].sockAddr.sin_addr.s_addr = 0;
-        g_port[i].sockAddr.sin_port        = 0;
+
+        struct sockaddr_in addr; //IP for each socket
+        addr.sin_family      = AF_INET;
+        addr.sin_addr.s_addr = 0;
+        addr.sin_port        = 0;
+        memcpy(&g_port[i].sockAddr, &addr, sizeof(struct sockaddr_in));
+
+        fDimIncomplete.setQuality(0);
+        fDimIncomplete.Update(uint64_t(0));
     }
     void IgnoreSlot(unsigned int i)
@@ -1219,4 +1232,5 @@
     void factReportIncomplete(uint64_t rep)
     {
+        fDimIncomplete.setQuality(1);
         fDimIncomplete.Update(rep);
     }
