diff --git a/Fltk/Opengl_Window.cpp b/Fltk/Opengl_Window.cpp
index b8ee85a41cedd9da06140619b551e66d0d46526c..0ec1ad4176e640c4c2187da3e6ea58c6a5f8a53e 100644
--- a/Fltk/Opengl_Window.cpp
+++ b/Fltk/Opengl_Window.cpp
@@ -1,4 +1,4 @@
-// $Id: Opengl_Window.cpp,v 1.41 2004-11-14 04:38:11 geuzaine Exp $
+// $Id: Opengl_Window.cpp,v 1.42 2004-11-15 20:15:33 geuzaine Exp $
 //
 // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle
 //
@@ -70,7 +70,7 @@ void Opengl_Window::draw()
     }
   }
 
-  if(!ZOOM) {
+  if(!ZoomMode) {
     Orthogonalize(0, 0);
     ClearOpengl();
     Draw3d();
@@ -92,24 +92,22 @@ void Opengl_Window::draw()
     glEnable(GL_BLEND);
     glLineWidth(0.2);
     glBegin(GL_LINE_STRIP);
-    glVertex2d(ZOOM_X0, ZOOM_Y0);
-    glVertex2d(ZOOM_X1, ZOOM_Y0);
-    glVertex2d(ZOOM_X1, ZOOM_Y1);
-    glVertex2d(ZOOM_X0, ZOOM_Y1);
-    glVertex2d(ZOOM_X0, ZOOM_Y0);
+    glVertex2d(xzoom0, yzoom0);
+    glVertex2d(xzoom1, yzoom0);
+    glVertex2d(xzoom1, yzoom1);
+    glVertex2d(xzoom0, yzoom1);
+    glVertex2d(xzoom0, yzoom0);
     glEnd();
-    ZOOM_X1 =
-      CTX.vxmin + ((double)Fl::event_x() / (double)w()) * (CTX.vxmax -
-                                                           CTX.vxmin);
-    ZOOM_Y1 =
-      CTX.vymax - ((double)Fl::event_y() / (double)h()) * (CTX.vymax -
-                                                           CTX.vymin);
+    xzoom1 = CTX.vxmin + ((double)Fl::event_x() / (double)w()) * 
+      (CTX.vxmax - CTX.vxmin);
+    yzoom1 = CTX.vymax - ((double)Fl::event_y() / (double)h()) *
+      (CTX.vymax - CTX.vymin);
     glBegin(GL_LINE_STRIP);
-    glVertex2d(ZOOM_X0, ZOOM_Y0);
-    glVertex2d(ZOOM_X1, ZOOM_Y0);
-    glVertex2d(ZOOM_X1, ZOOM_Y1);
-    glVertex2d(ZOOM_X0, ZOOM_Y1);
-    glVertex2d(ZOOM_X0, ZOOM_Y0);
+    glVertex2d(xzoom0, yzoom0);
+    glVertex2d(xzoom1, yzoom0);
+    glVertex2d(xzoom1, yzoom1);
+    glVertex2d(xzoom0, yzoom1);
+    glVertex2d(xzoom0, yzoom0);
     glEnd();
     glDisable(GL_BLEND);
     glEnable(GL_DEPTH_TEST);
@@ -117,7 +115,7 @@ void Opengl_Window::draw()
     glMatrixMode(GL_PROJECTION);
     glPopMatrix();
     glMatrixMode(GL_MODELVIEW);
-    ZOOM = 0;
+    ZoomMode = false;
   }
   locked = 0;
 }
@@ -163,20 +161,20 @@ int Opengl_Window::handle(int event)
     
     if(ibut == 1 && !Fl::event_state(FL_SHIFT) && !Fl::event_state(FL_ALT)) {
       if(!ZoomClick && Fl::event_state(FL_CTRL)) {
-        ZOOM_X0 = ZOOM_X1 =
-          CTX.vxmin + ((double)xpos / (double)w()) * (CTX.vxmax - CTX.vxmin);
-        ZOOM_Y0 = ZOOM_Y1 =
-          CTX.vymax - ((double)ypos / (double)h()) * (CTX.vymax - CTX.vymin);
-        xc1 = ZOOM_X0 / CTX.s[0] - CTX.t[0];
-        yc1 = ZOOM_Y0 / CTX.s[1] - CTX.t[1];
-        ZoomClick = 1;
+        xzoom0 = xzoom1 = CTX.vxmin + ((double)xpos / (double)w()) *
+	  (CTX.vxmax - CTX.vxmin);
+        yzoom0 = yzoom1 = CTX.vymax - ((double)ypos / (double)h()) * 
+	  (CTX.vymax - CTX.vymin);
+        xc1 = xzoom0 / CTX.s[0] - CTX.t[0];
+        yc1 = yzoom0 / CTX.s[1] - CTX.t[1];
+        ZoomClick = true;
       }
       else if(ZoomClick) {
-        xc2 = ZOOM_X1 / CTX.s[0] - CTX.t[0];
-        yc2 = ZOOM_Y1 / CTX.s[1] - CTX.t[1];
-        ZoomClick = 0;
-        if(ZOOM_X0 != ZOOM_X1 && ZOOM_Y0 != ZOOM_Y1)
-          myZoom(ZOOM_X0, ZOOM_X1, ZOOM_Y0, ZOOM_Y1, xc1, xc2, yc1, yc2);
+        xc2 = xzoom1 / CTX.s[0] - CTX.t[0];
+        yc2 = yzoom1 / CTX.s[1] - CTX.t[1];
+        ZoomClick = false;
+        if(xzoom0 != xzoom1 && yzoom0 != yzoom1)
+          myZoom(xzoom0, xzoom1, yzoom0, yzoom1, xc1, xc2, yc1, yc2);
       }
       else {
         WID->try_selection = 1;
@@ -189,7 +187,7 @@ int Opengl_Window::handle(int event)
         redraw();
       }
       else {
-        ZoomClick = 0;
+        ZoomClick = false;
       }
     }
     else {
@@ -210,7 +208,7 @@ int Opengl_Window::handle(int event)
         redraw();
       }
       else {
-        ZoomClick = 0;
+        ZoomClick = false;
       }
     }
     return 1;
@@ -231,7 +229,7 @@ int Opengl_Window::handle(int event)
     ymov = Fl::event_y() - ypos;
 
     if(ZoomClick) {
-      ZOOM = 1;
+      ZoomMode = true;
       redraw();
     }
     else {
@@ -323,7 +321,7 @@ int Opengl_Window::handle(int event)
     }
 
     if(ZoomClick) {
-      ZOOM = 1;
+      ZoomMode = true;
       redraw();
     }
     else {
diff --git a/Fltk/Opengl_Window.h b/Fltk/Opengl_Window.h
index ce07490da83ad0a45456aae36dc686f7f51e5342..bdd68cc153a57915cfb343e92855b4959ae1f20b 100644
--- a/Fltk/Opengl_Window.h
+++ b/Fltk/Opengl_Window.h
@@ -28,14 +28,13 @@ class Opengl_Window : public Fl_Gl_Window {
  public:
   bool AddPointMode;
  private:
+  bool ZoomMode, ZoomClick, FirstClick;
   int xpos, ypos, xmov, ymov, ibut, hits;
-  int ZoomClick, FirstClick;
+  double xzoom0, yzoom0, xzoom1, yzoom1;
   GLdouble xc, yc, xc1, yc1, xc2, yc2, xt1, yt1, xscale1, yscale1;
   Vertex *v, *ov;
   Curve *c, *oc;
   Surface *s, *os;
-  int ZOOM;
-  double ZOOM_X0, ZOOM_Y0, ZOOM_X1, ZOOM_Y1;
 
   void draw();
   int handle(int);
@@ -43,14 +42,12 @@ class Opengl_Window : public Fl_Gl_Window {
  public:
   Opengl_Window(int x,int y,int w,int h,const char *l=0)
     : Fl_Gl_Window(x, y, w, h, l) {
-    AddPointMode = false;
     xpos = ypos = xmov = ymov = ibut = hits = 0;
-    ZoomClick = FirstClick = 0;
+    xzoom0 = yzoom0 = xzoom1 = yzoom1 = 0.;
+    AddPointMode = ZoomMode = ZoomClick = FirstClick = false;
     v = ov = NULL;
     c = oc = NULL;
     s = os = NULL;
-    ZOOM = 0;
-    ZOOM_X0 = ZOOM_Y0 = ZOOM_X1 = ZOOM_Y1 = 0.;
   }
 };