Index: src/mlx/gui/flight.py
===================================================================
--- src/mlx/gui/flight.py	(revision 141)
+++ src/mlx/gui/flight.py	(revision 142)
@@ -1006,6 +1006,7 @@
         self.pack_start(label, False, False, 4)
 
-        self._tankFigure = gtk.DrawingArea()
+        self._tankFigure = gtk.EventBox()
         self._tankFigure.set_size_request(38, -1)
+        self._tankFigure.set_visible_window(False)
 
         if pygobject:
@@ -1016,5 +1017,5 @@
         alignment = gtk.Alignment(xalign = 0.5, yalign = 0.5,
                                   xscale = 0.0, yscale = 1.0)
-        alignment.add(self._tankFigure) 
+        alignment.add(self._tankFigure)
 
         self.pack_start(alignment, True, True, 4)
@@ -1051,14 +1052,16 @@
         self._tankFigure.queue_draw()
 
-    def _drawTankFigure(self, connStateArea, eventOrContext):
+    def _drawTankFigure(self, tankFigure, eventOrContext):
         """Draw the tank figure."""
         triangleSize = 5
-        
-        context = eventOrContext if pygobject else connStateArea.window.cairo_create()
-
-        width = connStateArea.get_allocated_width() if pygobject \
-                else connStateArea.allocation.width
-        height = connStateArea.get_allocated_height() if pygobject \
-                 else connStateArea.allocation.height
+
+        context = eventOrContext if pygobject else tankFigure.window.cairo_create()
+        (xOffset, yOffset) = (0, 0) if pygobject \
+                             else (tankFigure.allocation.x, tankFigure.allocation.y)
+        
+        width = tankFigure.get_allocated_width() if pygobject \
+                else tankFigure.allocation.width
+        height = tankFigure.get_allocated_height() if pygobject \
+                 else tankFigure.allocation.height
 
         rectangleX0 = triangleSize
@@ -1070,6 +1073,6 @@
         context.set_source_rgb(0.0, 0.0, 0.0)
         context.set_line_width(rectangleLineWidth)
-        context.rectangle(rectangleX0 + rectangleLineWidth/2,
-                          rectangleY0 + rectangleLineWidth/2,
+        context.rectangle(xOffset + rectangleX0 + rectangleLineWidth/2,
+                          yOffset + rectangleY0 + rectangleLineWidth/2,
                           rectangleX1 - rectangleX0 - rectangleLineWidth,
                           rectangleY1 - rectangleY0 - rectangleLineWidth)
@@ -1087,6 +1090,7 @@
         currentHeight = self.currentWeight * rectangleInnerHeight / self.capacity
         currentX = rectangleInnerTop + rectangleInnerHeight - currentHeight
-        context.rectangle(rectangleInnerLeft,
-                          rectangleInnerTop + rectangleInnerHeight - currentHeight,
+        context.rectangle(xOffset + rectangleInnerLeft,
+                          yOffset + rectangleInnerTop +
+                          rectangleInnerHeight - currentHeight,
                           rectangleInnerWidth, currentHeight)
         context.fill()
@@ -1097,21 +1101,23 @@
         context.set_line_width(1.5)
         context.set_source_rgb(0.0, 0.85, 0.85)
-        context.move_to(rectangleX0, expectedY)
-        context.line_to(rectangleX1, expectedY)
+        context.move_to(xOffset + rectangleX0, yOffset + expectedY)
+        context.line_to(xOffset + rectangleX1, yOffset + expectedY)
         context.stroke()
 
         context.set_line_width(0.0)
-        context.move_to(0, expectedY - triangleSize)
-        context.line_to(0, expectedY + triangleSize)
-        context.line_to(rectangleX0 + 1, expectedY)
-        context.line_to(0, expectedY - triangleSize)
+        context.move_to(xOffset + 0, yOffset + expectedY - triangleSize)
+        context.line_to(xOffset + 0, yOffset + expectedY + triangleSize)
+        context.line_to(xOffset + rectangleX0 + 1, yOffset + expectedY)
+        context.line_to(xOffset + 0, yOffset + expectedY - triangleSize)
         context.fill()
 
         context.set_line_width(0.0)
-        context.move_to(width, expectedY - triangleSize)
-        context.line_to(width, expectedY + triangleSize)
-        context.line_to(rectangleX1 - 1, expectedY)
-        context.line_to(width, expectedY - triangleSize)
+        context.move_to(xOffset + width, yOffset + expectedY - triangleSize)
+        context.line_to(xOffset + width, yOffset + expectedY + triangleSize)
+        context.line_to(xOffset + rectangleX1 - 1, yOffset + expectedY)
+        context.line_to(xOffset + width, yOffset + expectedY - triangleSize)
         context.fill()
+
+        return True
 
     def _expectedChanged(self, spinButton):
