diff --git a/Fltk/Opengl.cpp b/Fltk/Opengl.cpp
index 21adbaaa57a9ae5ec676c4e4c0dfca4cc9ed9399..bab6f0a6c74f97c744c3ee5d019922a990a387b7 100644
--- a/Fltk/Opengl.cpp
+++ b/Fltk/Opengl.cpp
@@ -1,4 +1,4 @@
-// $Id: Opengl.cpp,v 1.7 2001-01-10 20:14:34 geuzaine Exp $
+// $Id: Opengl.cpp,v 1.8 2001-01-10 20:23:36 geuzaine Exp $
 
 #include "Gmsh.h"
 #include "GmshUI.h"
@@ -25,7 +25,6 @@ void myZoom(GLdouble X1, GLdouble X2, GLdouble Y1, GLdouble Y2,
 /* ------------------------------------------------------------------------ */
 
 void Init(void){
-  //WID->make_current();
 }
 
 void InitOverlay(void){
@@ -44,6 +43,22 @@ void DrawUI(void){
   WID->check();
 }
 
+// one should not call Opengl_Window::draw() from the handle(), but
+// rather the following:
+
+void DrawUpdate(){
+  WID->make_current();
+  Orthogonalize(0,0);
+  glClearColor(UNPACK_RED(CTX.color.bg)/255.,
+               UNPACK_GREEN(CTX.color.bg)/255.,
+               UNPACK_BLUE(CTX.color.bg)/255.,
+               0.);
+  glClear(GL_DEPTH_BUFFER_BIT|GL_COLOR_BUFFER_BIT);
+  Draw3d();
+  Draw2d();
+  WID->swap_buffers();
+}
+
 void Draw_String(char *s){
 
   if(CTX.stream == TO_FILE){
diff --git a/Fltk/Opengl_Window.cpp b/Fltk/Opengl_Window.cpp
index b549a7987cbd7064c98349d2145a60391b084d24..81288240f042e0a6410678dd2608477bb6726a67 100644
--- a/Fltk/Opengl_Window.cpp
+++ b/Fltk/Opengl_Window.cpp
@@ -1,4 +1,4 @@
-// $Id: Opengl_Window.cpp,v 1.3 2001-01-10 20:14:34 geuzaine Exp $
+// $Id: Opengl_Window.cpp,v 1.4 2001-01-10 20:23:36 geuzaine Exp $
 
 #include "Gmsh.h"
 #include "GmshUI.h"
@@ -53,22 +53,6 @@ void Opengl_Window::draw() {
   Draw2d();
 }
 
-// one should not call Opengl_Window::draw() from the handle(), but
-// rather the following:
-
-void DrawUpdate(){
-  WID->make_current();
-  Orthogonalize(0,0);
-  glClearColor(UNPACK_RED(CTX.color.bg)/255.,
-               UNPACK_GREEN(CTX.color.bg)/255.,
-               UNPACK_BLUE(CTX.color.bg)/255.,
-               0.);
-  glClear(GL_DEPTH_BUFFER_BIT|GL_COLOR_BUFFER_BIT);
-  Draw3d();
-  Draw2d();
-  WID->swap_buffers();
-}
-
 void Opengl_Window::clear_overlay() {
   if(CTX.overlay) {}
 }
diff --git a/Graphics/CreateFile.cpp b/Graphics/CreateFile.cpp
index 15a39e2f1fdb19a434b9fa9abc6dcdc6868631d2..0625a706ffe8cfa43f384c009c62ab290de2027c 100644
--- a/Graphics/CreateFile.cpp
+++ b/Graphics/CreateFile.cpp
@@ -1,4 +1,4 @@
-// $Id: CreateFile.cpp,v 1.6 2001-01-10 10:06:17 geuzaine Exp $
+// $Id: CreateFile.cpp,v 1.7 2001-01-10 20:23:37 geuzaine Exp $
 
 #include "Gmsh.h"
 #include "GmshUI.h"
@@ -106,7 +106,7 @@ void CreateFile (char *name, int format) {
       Msg(WARNING, "Unable to Open File '%s'", name); 
       return;
     }
-    Replot();
+    DrawUpdate();
     create_jpeg(fp, CTX.viewport[2]-CTX.viewport[0],
 		CTX.viewport[3]-CTX.viewport[1],
 		CTX.print.jpeg_quality);
@@ -121,7 +121,7 @@ void CreateFile (char *name, int format) {
       Msg(WARNING, "Unable to Open File '%s'", name); 
       return;
     }
-    Replot();
+    DrawUpdate();
     create_gif(fp, CTX.viewport[2]-CTX.viewport[0],
                CTX.viewport[3]-CTX.viewport[1], 
 	       CTX.print.gif_dither,
@@ -141,7 +141,7 @@ void CreateFile (char *name, int format) {
       Msg(WARNING, "Unable to Open File '%s'", name); 
       return;
     }
-    Replot();
+    DrawUpdate();
     create_ppm(fp, CTX.viewport[2]-CTX.viewport[0],
 	       CTX.viewport[3]-CTX.viewport[1]);
     Msg(INFOS, "PPM Creation Complete '%s'", name);
@@ -154,7 +154,7 @@ void CreateFile (char *name, int format) {
       Msg(WARNING, "Unable to Open File '%s'", name); 
       return;
     }
-    Replot();
+    DrawUpdate();
     create_yuv(fp, CTX.viewport[2]-CTX.viewport[0],
 	       CTX.viewport[3]-CTX.viewport[1]);
     Msg(INFOS, "YUV Creation Complete '%s'", name);
@@ -203,8 +203,7 @@ void CreateFile (char *name, int format) {
 		       GL2PS_SIMPLE_LINE_OFFSET | GL2PS_DRAW_BACKGROUND,
 		       GL_RGBA, 0, NULL, size3d, fp);
 	CTX.stream = TO_FILE ;
-	Init();
-	Draw();
+	DrawUpdate();
 	CTX.stream = TO_SCREEN ;
 	res = gl2psEndPage();
       }
diff --git a/Graphics/Draw.h b/Graphics/Draw.h
index 0a46ce60bde1ea2f0865e12f16a322c33944d9e1..9cb970376c08628cf86a964bbb0404ff15bdddcb 100644
--- a/Graphics/Draw.h
+++ b/Graphics/Draw.h
@@ -40,6 +40,7 @@ void Draw2d(void);
 void DrawUI(void);
 void DrawOverlay(void);
 void Draw(void);
+void DrawUpdate(void);
 
 void Draw_String(char *s);
 void Draw_Geom (Mesh *m);
diff --git a/Motif/Opengl.cpp b/Motif/Opengl.cpp
index 6ac815daa0d96b640a95cdd2f869e25b1f761805..afe3a88c086928b6d561baa068eec06ff625814a 100644
--- a/Motif/Opengl.cpp
+++ b/Motif/Opengl.cpp
@@ -1,4 +1,4 @@
-// $Id: Opengl.cpp,v 1.2 2001-01-10 10:06:18 geuzaine Exp $
+// $Id: Opengl.cpp,v 1.3 2001-01-10 20:23:38 geuzaine Exp $
 
 #include <X11/IntrinsicP.h>
 
@@ -64,6 +64,11 @@ void Draw(void){
   if(CTX.db) glXSwapBuffers(XCTX.display,XtWindow(WID.G.glw));
 }
 
+void DrawUpdate(void){
+  Init();
+  Draw();
+}
+
 void DrawOverlay(void){
 }