Index: /trunk/FACT++/gui/FactGui.h
===================================================================
--- /trunk/FACT++/gui/FactGui.h	(revision 11795)
+++ /trunk/FACT++/gui/FactGui.h	(revision 11796)
@@ -2960,4 +2960,5 @@
         fStatusBar->showMessage(tipText, 3000);
     }
+
     void UpdatePatch(int isw)
     {
@@ -3457,4 +3458,13 @@
         connect(fRatesCanv, SIGNAL(signalPixelMoveOver(int)),
                 this, SLOT(slot_CameraMouseMove(int)));
+        connect(fEventCanv1, SIGNAL(signalCurrentPixel(int)),
+                this, SLOT(slot_CameraMouseMove(int)));
+        connect(fEventCanv2, SIGNAL(signalCurrentPixel(int)),
+                this, SLOT(slot_CameraMouseMove(int)));
+        connect(fEventCanv3, SIGNAL(signalCurrentPixel(int)),
+                this, SLOT(slot_CameraMouseMove(int)));
+        connect(fEventCanv4, SIGNAL(signalCurrentPixel(int)),
+                this, SLOT(slot_CameraMouseMove(int)));
+
         connect(fRatesCanv, SIGNAL(signalPixelDoubleClick(int)),
                 this, SLOT(slot_CameraDoubleClick(int)));
Index: /trunk/FACT++/gui/MainWindow.h
===================================================================
--- /trunk/FACT++/gui/MainWindow.h	(revision 11795)
+++ /trunk/FACT++/gui/MainWindow.h	(revision 11796)
@@ -191,5 +191,4 @@
     virtual void slot_CameraDoubleClick(int) = 0;
     virtual void slot_CameraMouseMove(int) = 0;
-
     void slot_TimeUpdate();
 };
Index: /trunk/FACT++/gui/QCameraWidget.cc
===================================================================
--- /trunk/FACT++/gui/QCameraWidget.cc	(revision 11795)
+++ /trunk/FACT++/gui/QCameraWidget.cc	(revision 11796)
@@ -12,5 +12,7 @@
         fMin = -1;
         fMax = -1;
+        lastFace = -1;
         CalculatePixelsColor();
+
     }
     void QCameraWidget::paintGL()
@@ -30,4 +32,6 @@
     void QCameraWidget::drawCamera(bool alsoWire)
     {
+        if (!pixelColorUpToDate)
+            CalculatePixelsColor();
         glLineWidth(1.0);
         for (int i=0;i<ACTUAL_NUM_PIXELS;i++)
@@ -61,7 +65,9 @@
     {
         int face = PixelAtPosition(cEvent->pos());
-        if (face != -1) {
+        if (face != -1 && lastFace != face) {
             emit signalPixelMoveOver(face);
+            cout << "Emitting" << endl;
         }
+        lastFace = face;
     }
     void QCameraWidget::mouseDoubleClickEvent(QMouseEvent* cEvent)
@@ -96,10 +102,14 @@
      {
          fMin = min;
-         CalculatePixelsColor();
+         pixelColorUpToDate = false;
+         if (isVisible())
+             updateGL();
      }
      void QCameraWidget::SetMax(int64_t max)
      {
          fMax = max;
-         CalculatePixelsColor();
+         pixelColorUpToDate = false;
+         if (isVisible())
+             updateGL();
      }
      const char* QCameraWidget::GetName()
@@ -152,4 +162,5 @@
                pixelsColor[i][2] = weight1*bb[index] + weight0*bb[index+1];
           }
+          pixelColorUpToDate = true;
      }
      void QCameraWidget::SetData(const valarray<double> &ddata)
@@ -158,5 +169,6 @@
          for (int i=0;i<ACTUAL_NUM_PIXELS;i++)
              fData[i] = ddata[i];
-         CalculatePixelsColor();
-         updateGL();
+         pixelColorUpToDate = false;
+         if (isVisible())
+             updateGL();
      }
Index: /trunk/FACT++/gui/QCameraWidget.h
===================================================================
--- /trunk/FACT++/gui/QCameraWidget.h	(revision 11795)
+++ /trunk/FACT++/gui/QCameraWidget.h	(revision 11796)
@@ -24,4 +24,5 @@
     int64_t fMax;
 
+    int lastFace;
 public:
     QCameraWidget(QWidget *pparent = 0);
