diff --git a/CHANGES b/CHANGES
index a9ea49301327ddd1758686103ee76ce030d0d438..1e01d9d796dbf8503e5c7427182d754fa364161b 100644
--- a/CHANGES
+++ b/CHANGES
@@ -4,6 +4,21 @@ CHANGES SINCE FLTK 1.0.10
 	  DLL". You'll need to change your project settings to
 	  use this as well or you'll get errors.
 
+	- Added new const const pointer versions of pixmap
+	  functions to eliminate an annoying pointer warning
+	  message that was generated by the Sun and other C++
+	  compilers.
+
+	- Eliminated all "var hides class::var" warnings.
+
+	- Eliminated all "string literal converted to char *"
+	  warnings.
+
+	- Fl_has_idle only tested N-1 callbacks and missed one.
+
+	- Restored WM_SYNCPAINT handling under WIN32; this fixed
+	  a refresh bug under some versions of Windows.
+
 	- Check for OpenGL headers before checking to see if
 	  OpenGL is supported.  This should eliminate compile
 	  errors due to missing non-FLTK header files...
@@ -11,7 +26,6 @@ CHANGES SINCE FLTK 1.0.10
 	- Add -D_INCLUDE_POSIX_SOURCE option when compiling with
 	  the HP compilers.
 
-
 	- Replaced remaining _WIN32 symbols with WIN32
 
 	- Removed reference to unused GL/glu.h header file, which is missing on
diff --git a/FL/Fl_Pixmap.H b/FL/Fl_Pixmap.H
index 82eb406a44936a5a38523a7e05c2067661824520..2c838e09c9adf36758edbcea7a334eb5ba62b969 100644
--- a/FL/Fl_Pixmap.H
+++ b/FL/Fl_Pixmap.H
@@ -1,5 +1,5 @@
 //
-// "$Id: Fl_Pixmap.H,v 1.6.2.3 2001/01/22 15:13:37 easysw Exp $"
+// "$Id: Fl_Pixmap.H,v 1.6.2.4 2001/04/13 19:07:39 easysw Exp $"
 //
 // Pixmap header file for the Fast Light Tool Kit (FLTK).
 //
@@ -30,12 +30,12 @@ class Fl_Widget;
 struct Fl_Menu_Item;
 
 struct Fl_Pixmap {
-  /*const*/ char * const * data;
+  const char * const * data;
   int w, h; // set by first draw...
   ulong id; // for internal use (the pixmap)
   ulong mask; // for internal use (mask bitmap)
-  Fl_Pixmap(/*const*/char * const * d) : data(d), w(-1), h(0), id(0),mask(0) {}
-  Fl_Pixmap(/*const*/uchar* const * d) : data((char**)d), w(-1), h(0), id(0),mask(0) {}
+  Fl_Pixmap(const char * const * d) : data(d), w(-1), h(0), id(0),mask(0) {}
+  Fl_Pixmap(const uchar* const * d) : data((char**)d), w(-1), h(0), id(0),mask(0) {}
   FL_EXPORT ~Fl_Pixmap();
   FL_EXPORT void label(Fl_Widget*);
   FL_EXPORT void label(Fl_Menu_Item*);
@@ -46,5 +46,5 @@ struct Fl_Pixmap {
 #endif
 
 //
-// End of "$Id: Fl_Pixmap.H,v 1.6.2.3 2001/01/22 15:13:37 easysw Exp $".
+// End of "$Id: Fl_Pixmap.H,v 1.6.2.4 2001/04/13 19:07:39 easysw Exp $".
 //
diff --git a/FL/fl_draw.H b/FL/fl_draw.H
index 6f6edfd9507c984819d519846bad53c9592ca3f4..7ebdec5c1c79d1a88e2ec65f2e8bdce12ffd6628 100644
--- a/FL/fl_draw.H
+++ b/FL/fl_draw.H
@@ -1,5 +1,5 @@
 //
-// "$Id: fl_draw.H,v 1.9.2.5 2001/01/22 15:13:38 easysw Exp $"
+// "$Id: fl_draw.H,v 1.9.2.6 2001/04/13 19:07:40 easysw Exp $"
 //
 // Portable drawing function header file for the Fast Light Tool Kit (FLTK).
 //
@@ -163,6 +163,8 @@ FL_EXPORT void fl_rectf(int x, int y, int w, int h, uchar r, uchar g, uchar b);
 // pixmaps:
 FL_EXPORT int fl_draw_pixmap(/*const*/ char* const* data, int x,int y,Fl_Color=FL_GRAY);
 FL_EXPORT int fl_measure_pixmap(/*const*/ char* const* data, int &w, int &h);
+FL_EXPORT int fl_draw_pixmap(const char* const* data, int x,int y,Fl_Color=FL_GRAY);
+FL_EXPORT int fl_measure_pixmap(const char* const* data, int &w, int &h);
 
 // other:
 extern FL_EXPORT void fl_scroll(int X, int Y, int W, int H, int dx, int dy,
@@ -179,5 +181,5 @@ FL_EXPORT int fl_add_symbol(const char* name, void (*drawit)(Fl_Color), int scal
 #endif
 
 //
-// End of "$Id: fl_draw.H,v 1.9.2.5 2001/01/22 15:13:38 easysw Exp $".
+// End of "$Id: fl_draw.H,v 1.9.2.6 2001/04/13 19:07:40 easysw Exp $".
 //
diff --git a/fluid/Fl_Window_Type.cxx b/fluid/Fl_Window_Type.cxx
index 371aac28439016c486b55edc7f189c4aa5ba759e..cc7297a46f0d90e2167567d7f0b9622a95bc7e27 100644
--- a/fluid/Fl_Window_Type.cxx
+++ b/fluid/Fl_Window_Type.cxx
@@ -1,5 +1,5 @@
 //
-// "$Id: Fl_Window_Type.cxx,v 1.13.2.9 2001/01/22 15:13:38 easysw Exp $"
+// "$Id: Fl_Window_Type.cxx,v 1.13.2.10 2001/04/13 19:07:40 easysw Exp $"
 //
 // Window type code for the Fast Light Tool Kit (FLTK).
 //
@@ -211,21 +211,21 @@ Fl_Type *Fl_Window_Type::make() {
     fl_message("Please select a function");
     return 0;
   }
-  Fl_Window_Type *o = new Fl_Window_Type();
+  Fl_Window_Type *myo = new Fl_Window_Type();
   if (!this->o) {// template widget
     this->o = new Fl_Window(100,100);
     Fl_Group::current(0);
   }
-  o->factory = this;
-  o->drag = 0;
-  o->numselected = 0;
+  myo->factory = this;
+  myo->drag = 0;
+  myo->numselected = 0;
   Overlay_Window *w = new Overlay_Window(100,100);
-  w->window = o;
-  o->o = w;
-  o->add(p);
-  o->modal = 0;
-  o->non_modal = 0;
-  return o;
+  w->window = myo;
+  myo->o = w;
+  myo->add(p);
+  myo->modal = 0;
+  myo->non_modal = 0;
+  return myo;
 }
 
 void Fl_Window_Type::add_child(Fl_Type* cc, Fl_Type* before) {
@@ -356,42 +356,42 @@ void Overlay_Window::resize(int X,int Y,int W,int H) {
 // calculate actual move by moving mouse position (mx,my) to
 // nearest multiple of gridsize, and snap to original position
 void Fl_Window_Type::newdx() {
-  int dx, dy;
+  int mydx, mydy;
   if (Fl::event_state(FL_ALT)) {
-    dx = mx-x1;
-    dy = my-y1;
+    mydx = mx-x1;
+    mydy = my-y1;
   } else {
     int dx0 = mx-x1;
     int ix = (drag&RIGHT) ? br : bx;
-    dx = gridx ? ((ix+dx0+gridx/2)/gridx)*gridx - ix : dx0;
+    mydx = gridx ? ((ix+dx0+gridx/2)/gridx)*gridx - ix : dx0;
     if (dx0 > snap) {
-      if (dx < 0) dx = 0;
+      if (mydx < 0) mydx = 0;
     } else if (dx0 < -snap) {
-      if (dx > 0) dx = 0;
+      if (mydx > 0) mydx = 0;
     } else 
-      dx = 0;
+      mydx = 0;
     int dy0 = my-y1;
     int iy = (drag&BOTTOM) ? by : bt;
-    dy = gridy ? ((iy+dy0+gridy/2)/gridy)*gridy - iy : dy0;
+    mydy = gridy ? ((iy+dy0+gridy/2)/gridy)*gridy - iy : dy0;
     if (dy0 > snap) {
-      if (dy < 0) dy = 0;
+      if (mydy < 0) mydy = 0;
     } else if (dy0 < -snap) {
-      if (dy > 0) dy = 0;
+      if (mydy > 0) mydy = 0;
     } else 
-      dy = 0;
+      mydy = 0;
   }
-  if (this->dx != dx || this->dy != dy) {
-    this->dx = dx; this->dy = dy;
-    ((Overlay_Window *)(this->o))->redraw_overlay();
+  if (dx != mydx || dy != mydy) {
+    dx = mydx; dy = mydy;
+    ((Overlay_Window *)o)->redraw_overlay();
   }
 }
 
 // Move a widget according to dx and dy calculated above
-void Fl_Window_Type::newposition(Fl_Widget_Type *o,int &X,int &Y,int &R,int &T) {
-  X = o->o->x();
-  Y = o->o->y();
-  R = X+o->o->w();
-  T = Y+o->o->h();
+void Fl_Window_Type::newposition(Fl_Widget_Type *myo,int &X,int &Y,int &R,int &T) {
+  X = myo->o->x();
+  Y = myo->o->y();
+  R = X+myo->o->w();
+  T = Y+myo->o->h();
   if (!drag) return;
   if (drag&DRAG) {
     X += dx;
@@ -415,11 +415,11 @@ void Fl_Window_Type::draw_overlay() {
     for (Fl_Type *q=next; q && q->level>level; q=q->next)
       if (q->selected && q->is_widget() && !q->is_menu_item()) {
 	numselected++;
-	Fl_Widget_Type* o = (Fl_Widget_Type*)q;
-	if (o->o->x() < bx) bx = o->o->x();
-	if (o->o->y() < by) by = o->o->y();
-	if (o->o->x()+o->o->w() > br) br = o->o->x()+o->o->w();
-	if (o->o->y()+o->o->h() > bt) bt = o->o->y()+o->o->h();
+	Fl_Widget_Type* myo = (Fl_Widget_Type*)q;
+	if (myo->o->x() < bx) bx = myo->o->x();
+	if (myo->o->y() < by) by = myo->o->y();
+	if (myo->o->x()+myo->o->w() > br) br = myo->o->x()+myo->o->w();
+	if (myo->o->y()+myo->o->h() > bt) bt = myo->o->y()+myo->o->h();
       }
     recalc = 0;
   }
@@ -432,25 +432,25 @@ void Fl_Window_Type::draw_overlay() {
   if (overlays_invisible && !drag) return;
   if (selected) fl_rect(0,0,o->w(),o->h());
   if (!numselected) return;
-  int bx,by,br,bt;
-  bx = o->w(); by = o->h(); br = 0; bt = 0;
+  int mybx,myby,mybr,mybt;
+  mybx = o->w(); myby = o->h(); mybr = 0; mybt = 0;
   for (Fl_Type *q=next; q && q->level>level; q = q->next)
     if (q->selected && q->is_widget() && !q->is_menu_item()) {
-      Fl_Widget_Type* o = (Fl_Widget_Type*)q;
+      Fl_Widget_Type* myo = (Fl_Widget_Type*)q;
       int x,y,r,t;
-      newposition(o,x,y,r,t);
+      newposition(myo,x,y,r,t);
       fl_rect(x,y,r-x,t-y);
-      if (x < bx) bx = x;
-      if (y < by) by = y;
-      if (r > br) br = r;
-      if (t > bt) bt = t;
+      if (x < mybx) mybx = x;
+      if (y < myby) myby = y;
+      if (r > mybr) mybr = r;
+      if (t > mybt) mybt = t;
     }
   if (selected) return;
-  if (numselected>1) fl_rect(bx,by,br-bx,bt-by);
-  fl_rectf(bx,by,5,5);
-  fl_rectf(br-5,by,5,5);
-  fl_rectf(br-5,bt-5,5,5);
-  fl_rectf(bx,bt-5,5,5);
+  if (numselected>1) fl_rect(mybx,myby,mybr-mybx,mybt-myby);
+  fl_rectf(mybx,myby,5,5);
+  fl_rectf(mybr-5,myby,5,5);
+  fl_rectf(mybr-5,mybt-5,5,5);
+  fl_rectf(mybx,mybt-5,5,5);
 }
 
 // Calculate new bounding box of selected widgets:
@@ -490,18 +490,18 @@ void Fl_Window_Type::moveallchildren()
   Fl_Type *i;
   for (i=next; i && i->level>level;) {
     if (i->selected && i->is_widget() && !i->is_menu_item()) {
-      Fl_Widget_Type* o = (Fl_Widget_Type*)i;
+      Fl_Widget_Type* myo = (Fl_Widget_Type*)i;
       int x,y,r,t;
-      newposition(o,x,y,r,t);
-      o->o->resize(x,y,r-x,t-y);
+      newposition(myo,x,y,r,t);
+      myo->o->resize(x,y,r-x,t-y);
       // move all the children, whether selected or not:
       Fl_Type* p;
-      for (p = o->next; p && p->level>o->level; p = p->next)
+      for (p = myo->next; p && p->level>myo->level; p = p->next)
 	if (p->is_widget() && !p->is_menu_item()) {
-	  Fl_Widget_Type* o = (Fl_Widget_Type*)p;
+	  Fl_Widget_Type* myo2 = (Fl_Widget_Type*)p;
 	  int x,y,r,t;
-	  newposition(o,x,y,r,t);
-	  o->o->resize(x,y,r-x,t-y);
+	  newposition(myo2,x,y,r,t);
+	  myo2->o->resize(x,y,r-x,t-y);
 	}
       i = p;
     } else {
@@ -527,9 +527,9 @@ int Fl_Window_Type::handle(int event) {
     // test for popup menu:
     if (Fl::event_button() >= 3) {
       in_this_only = this; // modifies how some menu items work.
-      static const Fl_Menu_Item* prev;
-      const Fl_Menu_Item* m = New_Menu->popup(mx,my,"New",prev);
-      if (m && m->callback()) {prev = m; m->do_callback(this->o);}
+      static const Fl_Menu_Item* myprev;
+      const Fl_Menu_Item* m = New_Menu->popup(mx,my,"New",myprev);
+      if (m && m->callback()) {myprev = m; m->do_callback(this->o);}
       in_this_only = 0;
       return 1;
     }
@@ -537,10 +537,10 @@ int Fl_Window_Type::handle(int event) {
     selection = this;
     {for (Fl_Type* i=next; i && i->level>level; i=i->next)
       if (i->is_widget() && !i->is_menu_item()) {
-      Fl_Widget_Type* o = (Fl_Widget_Type*)i;
-      for (Fl_Widget *o1 = o->o; o1; o1 = o1->parent())
+      Fl_Widget_Type* myo = (Fl_Widget_Type*)i;
+      for (Fl_Widget *o1 = myo->o; o1; o1 = o1->parent())
 	if (!o1->visible()) goto CONTINUE2;
-      if (Fl::event_inside(o->o)) selection = o;
+      if (Fl::event_inside(myo->o)) selection = myo;
     CONTINUE2:;
     }}
     // see if user grabs edges of selected region:
@@ -600,14 +600,14 @@ int Fl_Window_Type::handle(int event) {
       // select everything in box:
       for (Fl_Type*i=next; i&&i->level>level; i=i->next)
 	if (i->is_widget() && !i->is_menu_item()) {
-	Fl_Widget_Type* o = (Fl_Widget_Type*)i;
-	for (Fl_Widget *o1 = o->o; o1; o1 = o1->parent())
+	Fl_Widget_Type* myo = (Fl_Widget_Type*)i;
+	for (Fl_Widget *o1 = myo->o; o1; o1 = o1->parent())
 	  if (!o1->visible()) goto CONTINUE;
-	if (Fl::event_inside(o->o)) selection = o;
-	if (o->o->x()>=x1 && o->o->y()>y1 &&
-	    o->o->x()+o->o->w()<mx && o->o->y()+o->o->h()<my) {
+	if (Fl::event_inside(myo->o)) selection = myo;
+	if (myo->o->x()>=x1 && myo->o->y()>y1 &&
+	    myo->o->x()+myo->o->w()<mx && myo->o->y()+myo->o->h()<my) {
 	  n++;
-	  select(o, toggle ? !o->selected : 1);
+	  select(myo, toggle ? !myo->selected : 1);
 	}
       CONTINUE:;
       }
@@ -752,5 +752,5 @@ int Fl_Window_Type::read_fdesign(const char* name, const char* value) {
 }
 
 //
-// End of "$Id: Fl_Window_Type.cxx,v 1.13.2.9 2001/01/22 15:13:38 easysw Exp $".
+// End of "$Id: Fl_Window_Type.cxx,v 1.13.2.10 2001/04/13 19:07:40 easysw Exp $".
 //
diff --git a/fluid/Fluid_Image.cxx b/fluid/Fluid_Image.cxx
index f5c911ffa19d128a79ac5eaba6a8edb0ae6568be..d1fff4b8d522d2e6b101b6f452f83c3784dd5b4f 100644
--- a/fluid/Fluid_Image.cxx
+++ b/fluid/Fluid_Image.cxx
@@ -1,5 +1,5 @@
 //
-// "$Id: Fluid_Image.cxx,v 1.7.2.7 2001/01/22 15:13:38 easysw Exp $"
+// "$Id: Fluid_Image.cxx,v 1.7.2.8 2001/04/13 19:07:40 easysw Exp $"
 //
 // Pixmap label support for the Fast Light Tool Kit (FLTK).
 //
@@ -112,9 +112,9 @@ pixmap_image::pixmap_image(const char *name, FILE *f) : Fluid_Image(name) {
   int i = 0;
   while (fgets(buffer,MAXSIZE+20,f)) {
     if (buffer[0] != '\"') continue;
-    char *p = buffer;
+    char *myp = buffer;
     char *q = buffer+1;
-    while (*q != '\"' && p < buffer+MAXSIZE) {
+    while (*q != '\"' && myp < buffer+MAXSIZE) {
       if (*q == '\\') switch (*++q) {
       case '\n':
 	fgets(q,(buffer+MAXSIZE+20)-q,f); break;
@@ -129,7 +129,7 @@ pixmap_image::pixmap_image(const char *name, FILE *f) : Fluid_Image(name) {
 	  n = (n<<4)+d;
 	  q++;
 	}
-	*p++ = n;
+	*myp++ = n;
       } break;
       default: {
 	int c = *q++;
@@ -142,13 +142,13 @@ pixmap_image::pixmap_image(const char *name, FILE *f) : Fluid_Image(name) {
 	    q++;
 	  }
 	}
-	*p++ = c;
+	*myp++ = c;
       } break;
       } else {
-	*p++ = *q++;
+	*myp++ = *q++;
       }
     }
-    *p++ = 0;
+    *myp++ = 0;
     if (i >= malloc_size) {
       malloc_size = 2*malloc_size;
       if (data == local_data) {
@@ -161,9 +161,9 @@ pixmap_image::pixmap_image(const char *name, FILE *f) : Fluid_Image(name) {
 	length = (int*)realloc(length, malloc_size*sizeof(int));
       }
     }
-    data[i] = new char[p-buffer];
-    memcpy(data[i], buffer,p-buffer);
-    length[i] = p-buffer-1;
+    data[i] = new char[myp-buffer];
+    memcpy(data[i], buffer,myp-buffer);
+    length[i] = myp-buffer-1;
     i++;
   }
 
@@ -436,5 +436,5 @@ Fluid_Image *ui_find_image(const char *oldname) {
 }
 
 //
-// End of "$Id: Fluid_Image.cxx,v 1.7.2.7 2001/01/22 15:13:38 easysw Exp $".
+// End of "$Id: Fluid_Image.cxx,v 1.7.2.8 2001/04/13 19:07:40 easysw Exp $".
 //
diff --git a/fluid/factory.cxx b/fluid/factory.cxx
index a8f46c3069364ac1fe41badccbe7777c1c56fef1..33572b93cdfd7743654cffbb10d4072d8e39df31 100644
--- a/fluid/factory.cxx
+++ b/fluid/factory.cxx
@@ -1,5 +1,5 @@
 //
-// "$Id: factory.cxx,v 1.4.2.10 2001/02/12 15:12:14 easysw Exp $"
+// "$Id: factory.cxx,v 1.4.2.11 2001/04/13 19:07:40 easysw Exp $"
 //
 // Widget factory code for the Fast Light Tool Kit (FLTK).
 //
@@ -202,13 +202,13 @@ public:
 static Fl_Browser_Type Fl_Browser_type;
 
 int Fl_Browser_Type::textstuff(int w, Fl_Font& f, int& s, Fl_Color& c) {
-  Fl_Browser *o = (Fl_Browser*)(w==4 ? ((Fl_Widget_Type*)this->factory)->o : this->o);
+  Fl_Browser *myo = (Fl_Browser*)(w==4 ? ((Fl_Widget_Type*)factory)->o : o);
   switch (w) {
     case 4:
-    case 0: f = o->textfont(); s = o->textsize(); c = o->textcolor(); break;
-    case 1: o->textfont(f); break;
-    case 2: o->textsize(s); break;
-    case 3: o->textcolor(c); break;
+    case 0: f = myo->textfont(); s = myo->textsize(); c = myo->textcolor(); break;
+    case 1: myo->textfont(f); break;
+    case 2: myo->textsize(s); break;
+    case 3: myo->textcolor(c); break;
   }
   return 1;
 }
@@ -233,13 +233,13 @@ public:
 static Fl_Counter_Type Fl_Counter_type;
 
 int Fl_Counter_Type::textstuff(int w, Fl_Font& f, int& s, Fl_Color& c) {
-  Fl_Counter *o = (Fl_Counter*)(w==4 ? ((Fl_Widget_Type*)this->factory)->o : this->o);
+  Fl_Counter *myo = (Fl_Counter*)(w==4 ? ((Fl_Widget_Type*)factory)->o : o);
   switch (w) {
     case 4:
-    case 0: f = o->textfont(); s = o->textsize(); c = o->textcolor(); break;
-    case 1: o->textfont(f); break;
-    case 2: o->textsize(s); break;
-    case 3: o->textcolor(c); break;
+    case 0: f = myo->textfont(); s = myo->textsize(); c = myo->textcolor(); break;
+    case 1: myo->textfont(f); break;
+    case 2: myo->textsize(s); break;
+    case 3: myo->textcolor(c); break;
   }
   return 1;
 }
@@ -260,22 +260,22 @@ class Fl_Input_Type : public Fl_Widget_Type {
 public:
   virtual const char *type_name() {return "Fl_Input";}
   Fl_Widget *widget(int x,int y,int w,int h) {
-    Fl_Input *o = new Fl_Input(x,y,w,h,"input:");
-    o->value("Text Input");
-    return o;
+    Fl_Input *myo = new Fl_Input(x,y,w,h,"input:");
+    myo->value("Text Input");
+    return myo;
   }
   Fl_Widget_Type *_make() {return new Fl_Input_Type();}
 };
 static Fl_Input_Type Fl_Input_type;
 
 int Fl_Input_Type::textstuff(int w, Fl_Font& f, int& s, Fl_Color& c) {
-  Fl_Input_ *o = (Fl_Input_*)(w==4 ? ((Fl_Widget_Type*)this->factory)->o : this->o);
+  Fl_Input_ *myo = (Fl_Input_*)(w==4 ? ((Fl_Widget_Type*)factory)->o : o);
   switch (w) {
     case 4:
-    case 0: f = o->textfont(); s = o->textsize(); c = o->textcolor(); break;
-    case 1: o->textfont(f); break;
-    case 2: o->textsize(s); break;
-    case 3: o->textcolor(c); break;
+    case 0: f = myo->textfont(); s = myo->textsize(); c = myo->textcolor(); break;
+    case 1: myo->textfont(f); break;
+    case 2: myo->textsize(s); break;
+    case 3: myo->textcolor(c); break;
   }
   return 1;
 }
@@ -390,9 +390,9 @@ class Fl_Output_Type : public Fl_Input_Type {
 public:
   virtual const char *type_name() {return "Fl_Output";}
   Fl_Widget *widget(int x,int y,int w,int h) {
-    Fl_Output *o = new Fl_Output(x,y,w,h,"output:");
-    o->value("Text Output");
-    return o;
+    Fl_Output *myo = new Fl_Output(x,y,w,h,"output:");
+    myo->value("Text Output");
+    return myo;
   }
   Fl_Widget_Type *_make() {return new Fl_Output_Type();}
 };
@@ -407,21 +407,21 @@ public:
   int textstuff(int w, Fl_Font& f, int& s, Fl_Color& c);
   int is_valuator() const {return 1;}
   Fl_Widget *widget(int x,int y,int w,int h) {
-    Fl_Value_Input *o = new Fl_Value_Input(x,y,w,h,"value:");
-    return o;
+    Fl_Value_Input *myo = new Fl_Value_Input(x,y,w,h,"value:");
+    return myo;
   }
   Fl_Widget_Type *_make() {return new Fl_Value_Input_Type();}
 };
 static Fl_Value_Input_Type Fl_Value_Input_type;
 
 int Fl_Value_Input_Type::textstuff(int w, Fl_Font& f, int& s, Fl_Color& c) {
-  Fl_Value_Input *o = (Fl_Value_Input*)(w==4 ? ((Fl_Widget_Type*)this->factory)->o : this->o);
+  Fl_Value_Input *myo = (Fl_Value_Input*)(w==4 ? ((Fl_Widget_Type*)factory)->o : o);
   switch (w) {
     case 4:
-    case 0: f = o->textfont(); s = o->textsize(); c = o->textcolor(); break;
-    case 1: o->textfont(f); break;
-    case 2: o->textsize(s); break;
-    case 3: o->textcolor(c); break;
+    case 0: f = myo->textfont(); s = myo->textsize(); c = myo->textcolor(); break;
+    case 1: myo->textfont(f); break;
+    case 2: myo->textsize(s); break;
+    case 3: myo->textcolor(c); break;
   }
   return 1;
 }
@@ -435,21 +435,21 @@ public:
   int textstuff(int w, Fl_Font& f, int& s, Fl_Color& c);
   int is_valuator() const {return 1;}
   Fl_Widget *widget(int x,int y,int w,int h) {
-    Fl_Value_Output *o = new Fl_Value_Output(x,y,w,h,"value:");
-    return o;
+    Fl_Value_Output *myo = new Fl_Value_Output(x,y,w,h,"value:");
+    return myo;
   }
   Fl_Widget_Type *_make() {return new Fl_Value_Output_Type();}
 };
 static Fl_Value_Output_Type Fl_Value_Output_type;
 
 int Fl_Value_Output_Type::textstuff(int w, Fl_Font& f, int& s, Fl_Color& c) {
-  Fl_Value_Output *o = (Fl_Value_Output*)(w==4 ? ((Fl_Widget_Type*)this->factory)->o : this->o);
+  Fl_Value_Output *myo = (Fl_Value_Output*)(w==4 ? ((Fl_Widget_Type*)factory)->o : o);
   switch (w) {
     case 4:
-    case 0: f = o->textfont(); s = o->textsize(); c = o->textcolor(); break;
-    case 1: o->textfont(f); break;
-    case 2: o->textsize(s); break;
-    case 3: o->textcolor(c); break;
+    case 0: f = myo->textfont(); s = myo->textsize(); c = myo->textcolor(); break;
+    case 1: myo->textfont(f); break;
+    case 2: myo->textsize(s); break;
+    case 3: myo->textcolor(c); break;
   }
   return 1;
 }
@@ -468,13 +468,13 @@ public:
 static Fl_Value_Slider_Type Fl_Value_Slider_type;
 
 int Fl_Value_Slider_Type::textstuff(int w, Fl_Font& f, int& s, Fl_Color& c) {
-  Fl_Value_Slider *o = (Fl_Value_Slider*)(w==4 ? ((Fl_Widget_Type*)this->factory)->o : this->o);
+  Fl_Value_Slider *myo = (Fl_Value_Slider*)(w==4 ? ((Fl_Widget_Type*)factory)->o : o);
   switch (w) {
     case 4:
-    case 0: f = o->textfont(); s = o->textsize(); c = o->textcolor(); break;
-    case 1: o->textfont(f); break;
-    case 2: o->textsize(s); break;
-    case 3: o->textcolor(c); break;
+    case 0: f = myo->textfont(); s = myo->textsize(); c = myo->textcolor(); break;
+    case 1: myo->textfont(f); break;
+    case 2: myo->textsize(s); break;
+    case 3: myo->textcolor(c); break;
   }
   return 1;
 }
@@ -727,5 +727,5 @@ int lookup_symbol(const char *name, int &v, int numberok) {
 }
 
 //
-// End of "$Id: factory.cxx,v 1.4.2.10 2001/02/12 15:12:14 easysw Exp $".
+// End of "$Id: factory.cxx,v 1.4.2.11 2001/04/13 19:07:40 easysw Exp $".
 //
diff --git a/src/fl_call_main.c b/src/fl_call_main.c
index 647a8bfe9854749ac4e4e40142082b8a456598e6..65fc61404f4aeade0a32ca07b3fe792d0b056a58 100644
--- a/src/fl_call_main.c
+++ b/src/fl_call_main.c
@@ -1,5 +1,5 @@
 /*
- * "$Id: fl_call_main.c,v 1.1.2.9 2001/03/15 22:39:56 easysw Exp $"
+ * "$Id: fl_call_main.c,v 1.1.2.10 2001/04/13 19:07:40 easysw Exp $"
  *
  * Copyright 1998-2001 by Bill Spitzak and others.
  *
@@ -79,9 +79,12 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
   return main(__argc, __argv);
 }
 
+#else
+/* This code to prevent "empty translation unit" or similar warnings... */
+static void dummy(void) {}
 #endif
 
 /*
- * End of "$Id: fl_call_main.c,v 1.1.2.9 2001/03/15 22:39:56 easysw Exp $".
+ * End of "$Id: fl_call_main.c,v 1.1.2.10 2001/04/13 19:07:40 easysw Exp $".
  */
 
diff --git a/src/fl_draw_pixmap.cxx b/src/fl_draw_pixmap.cxx
index b64b518213ee9b9cb03edc98fc3b0d87a6d77b2d..eb8c92076f14716097156add9c4747de2c305b87 100644
--- a/src/fl_draw_pixmap.cxx
+++ b/src/fl_draw_pixmap.cxx
@@ -1,5 +1,5 @@
 //
-// "$Id: fl_draw_pixmap.cxx,v 1.4.2.7 2001/01/22 15:13:40 easysw Exp $"
+// "$Id: fl_draw_pixmap.cxx,v 1.4.2.8 2001/04/13 19:07:40 easysw Exp $"
 //
 // Pixmap drawing code for the Fast Light Tool Kit (FLTK).
 //
@@ -43,7 +43,11 @@
 
 static int ncolors, chars_per_pixel;
 
-int fl_measure_pixmap(/*const*/char * const *data, int &w, int &h) {
+int fl_measure_pixmap(/*const*/ char* const* data, int &w, int &h) {
+  return fl_measure_pixmap((const char*const*)data,w,h);
+}
+
+int fl_measure_pixmap(const char * const *data, int &w, int &h) {
   int i = sscanf(data[0],"%d %d %d %d",&w,&h,&ncolors,&chars_per_pixel);
   if (i<4 || w<=0 || h<=0 ||
       chars_per_pixel!=1 && chars_per_pixel!=2) return w=0;
@@ -134,7 +138,11 @@ extern int fl_parse_color(const char*, uchar&, uchar&, uchar&);
 
 uchar **fl_mask_bitmap; // if non-zero, create bitmap and store pointer here
 
-int fl_draw_pixmap(/*const*/char*const* di, int x, int y, Fl_Color bg) {
+int fl_draw_pixmap(/*const*/ char* const* data, int x,int y,Fl_Color bg) {
+  return fl_draw_pixmap((const char*const*)data,x,y,bg);
+}
+
+int fl_draw_pixmap(const char*const* di, int x, int y, Fl_Color bg) {
   pixmap_data d;
   if (!fl_measure_pixmap(di, d.w, d.h)) return 0;
   const uchar*const* data = (const uchar*const*)(di+1);
@@ -264,5 +272,5 @@ int fl_draw_pixmap(/*const*/char*const* di, int x, int y, Fl_Color bg) {
 }
 
 //
-// End of "$Id: fl_draw_pixmap.cxx,v 1.4.2.7 2001/01/22 15:13:40 easysw Exp $".
+// End of "$Id: fl_draw_pixmap.cxx,v 1.4.2.8 2001/04/13 19:07:40 easysw Exp $".
 //
diff --git a/test/checkers.cxx b/test/checkers.cxx
index 40c4e7694274a9945201e8be891b24737d63191e..21a9a7f7475455252b5496ab08335216712d09b7 100644
--- a/test/checkers.cxx
+++ b/test/checkers.cxx
@@ -1,5 +1,5 @@
 //
-// "$Id: checkers.cxx,v 1.9.2.6 2001/01/22 15:13:41 easysw Exp $"
+// "$Id: checkers.cxx,v 1.9.2.7 2001/04/13 19:07:40 easysw Exp $"
 //
 // Checkers game for the Fast Light Tool Kit (FLTK).
 //
@@ -966,8 +966,8 @@ void Board::draw() {
     fl_rectf(x*BOXSIZE,0,BORDER,h());
     fl_rectf(0,x*BOXSIZE,w(),BORDER);
   }
-  for (int i = 5; i < 40; i++) if (i != erase_this) {
-    draw_piece(b[i], squarex(i), squarey(i));
+  for (int j = 5; j < 40; j++) if (j != erase_this) {
+    draw_piece(b[j], squarex(j), squarey(j));
   }
   if (showlegal) {
     fl_color(FL_WHITE);
@@ -1004,13 +1004,13 @@ void Board::draw() {
 }
 
 // drag the piece on square i to dx dy, or undo drag if i is zero:
-void Board::drag_piece(int i, int dx, int dy) {
+void Board::drag_piece(int j, int dx, int dy) {
   dy = (dy&-2) | dx&1; // make halftone shadows line up
-  if (i != erase_this) drop_piece(erase_this); // should not happen
+  if (j != erase_this) drop_piece(erase_this); // should not happen
   if (!erase_this) { // pick up old piece
-    dragx = squarex(i); dragy = squarey(i);
-    erase_this = i;
-    dragging = b[i];
+    dragx = squarex(j); dragy = squarey(j);
+    erase_this = j;
+    dragging = b[j];
   }
   if (dx != dragx || dy != dragy) {
     damage(FL_DAMAGE_ALL, dragx, dragy, ISIZE, ISIZE);
@@ -1021,12 +1021,12 @@ void Board::drag_piece(int i, int dx, int dy) {
 }
 
 // drop currently dragged piece on square i
-void Board::drop_piece(int i) {
+void Board::drop_piece(int j) {
   if (!erase_this) return; // should not happen!
   erase_this = 0;
   dragging = 0;
-  int x = squarex(i);
-  int y = squarey(i);
+  int x = squarex(j);
+  int y = squarey(j);
   if (x != dragx || y != dragy) {
     damage(4, dragx, dragy, ISIZE, ISIZE);
     damage(4, x, y, ISIZE, ISIZE);
@@ -1045,9 +1045,9 @@ void Board::animate(node* move, int backwards) {
   int x2 = squarex(t);
   int y2 = squarey(t);
   const int STEPS=35;
-  for (int i=0; i<STEPS; i++) {
-    int x = x1+(x2-x1)*i/STEPS;
-    int y = y1+(y2-y1)*i/STEPS;
+  for (int j=0; j<STEPS; j++) {
+    int x = x1+(x2-x1)*j/STEPS;
+    int y = y1+(y2-y1)*j/STEPS;
     drag_piece(move->from,x,y);
     Fl::flush();
   }
@@ -1365,5 +1365,5 @@ int main(int argc, char **argv) {
 }
 
 //
-// End of "$Id: checkers.cxx,v 1.9.2.6 2001/01/22 15:13:41 easysw Exp $".
+// End of "$Id: checkers.cxx,v 1.9.2.7 2001/04/13 19:07:40 easysw Exp $".
 //
diff --git a/test/colbrowser.cxx b/test/colbrowser.cxx
index 99de569b625e1a3e4bbc3e2c89af63a0ca062960..af751925af143d5446f18405a5ebfed8f81a2fa9 100644
--- a/test/colbrowser.cxx
+++ b/test/colbrowser.cxx
@@ -1,5 +1,5 @@
 //
-// "$Id: colbrowser.cxx,v 1.5.2.3 2001/01/22 15:13:41 easysw Exp $"
+// "$Id: colbrowser.cxx,v 1.5.2.4 2001/04/13 19:07:40 easysw Exp $"
 //
 // Forms test program for the Fast Light Tool Kit (FLTK).
 //
@@ -44,15 +44,15 @@ static int load_browser(char *);
 /* the RGB data file does not have a standard location on unix. */
 
 #ifdef __VMS
-  static char *rgbfile = "SYS$MANAGER:DECW$RGB.DAT";
+  static const char *rgbfile = "SYS$MANAGER:DECW$RGB.DAT";
 #else
 #ifdef __EMX__   /* OS2 */
-  static char *rgbfile = "/XFree86/lib/X11/rgb.txt";
+  static const char *rgbfile = "/XFree86/lib/X11/rgb.txt";
 #else
 #ifdef __FreeBSD__
-  static char *rgbfile = "/usr/X11R6/lib/X11/rgb.txt";
+  static const char *rgbfile = "/usr/X11R6/lib/X11/rgb.txt";
 #else
-   static char *rgbfile = "/usr/lib/X11/rgb.txt";
+   static const char *rgbfile = "/usr/lib/X11/rgb.txt";
 #endif
 #endif
 #endif
@@ -340,5 +340,5 @@ create_form_cl(void)
 }
 
 //
-// End of "$Id: colbrowser.cxx,v 1.5.2.3 2001/01/22 15:13:41 easysw Exp $".
+// End of "$Id: colbrowser.cxx,v 1.5.2.4 2001/04/13 19:07:40 easysw Exp $".
 //
diff --git a/test/forms.cxx b/test/forms.cxx
index f1c3c5fe02f38e002d342d289253e7098e8c51f5..6fb547d953287a28815af0714c95ad3afd803d41 100644
--- a/test/forms.cxx
+++ b/test/forms.cxx
@@ -1,5 +1,5 @@
 //
-// "$Id: forms.cxx,v 1.4.2.3 2001/01/22 15:13:41 easysw Exp $"
+// "$Id: forms.cxx,v 1.4.2.4 2001/04/13 19:07:40 easysw Exp $"
 //
 // Another forms demo for the Fast Light Tool Kit (FLTK).
 //
@@ -34,7 +34,7 @@
 static int border = 1; // changed from FL_TRANSIENT for fltk
 // (this is so the close box and Esc work to close the window)
 
-typedef struct { int val; char *name; } VN_struct;
+typedef struct { int val; const char *name; } VN_struct;
 #define VN(a) {a,#a}
 
 // static VN_struct gmode[] =
@@ -165,7 +165,7 @@ create_the_forms (void)
 
 /*************** Main Routine ***********************/
 
-char *browserlines[] = {
+const char *browserlines[] = {
    " ", "@C1@c@l@bObjects Demo",   " ",
    "This demo shows you all",      "objects that currently",
    "exist in the Forms Library.",  " ",
@@ -184,7 +184,7 @@ int
 main (int argc, char *argv[])
 {
   FL_COLOR c = FL_BLACK;
-  char **p;
+  const char **p;
   VN_struct *vn;
 
   fl_initialize(&argc, argv, "FormDemo", 0, 0);
@@ -229,5 +229,5 @@ main (int argc, char *argv[])
 }
 
 //
-// End of "$Id: forms.cxx,v 1.4.2.3 2001/01/22 15:13:41 easysw Exp $".
+// End of "$Id: forms.cxx,v 1.4.2.4 2001/04/13 19:07:40 easysw Exp $".
 //
diff --git a/test/mandelbrot.cxx b/test/mandelbrot.cxx
index e2ea87f43086e8258b9f40e3a4f0573234900e49..67c866818664ef90de59392c1227fe2e54825039 100644
--- a/test/mandelbrot.cxx
+++ b/test/mandelbrot.cxx
@@ -1,5 +1,5 @@
 //
-// "$Id: mandelbrot.cxx,v 1.8.2.3 2001/01/22 15:13:41 easysw Exp $"
+// "$Id: mandelbrot.cxx,v 1.8.2.4 2001/04/13 19:07:40 easysw Exp $"
 //
 // Mandelbrot set demo for the Fast Light Tool Kit (FLTK).
 //
@@ -171,9 +171,9 @@ int Drawing_Area::handle(int event) {
       }
       jbrot.d->jX = X + (ix-x()-W/2)*scale/W;
       jbrot.d->jY = Y + (H/2-iy+y())*scale/W;
-      static char buffer[128];
-      sprintf(buffer, "Julia %.7f %.7f",jbrot.d->jX,jbrot.d->jY);
-      jbrot.window->label(buffer);
+      static char s[128];
+      sprintf(s, "Julia %.7f %.7f",jbrot.d->jX,jbrot.d->jY);
+      jbrot.window->label(s);
       jbrot.window->show();
       jbrot.d->new_display();
     }
@@ -187,15 +187,15 @@ void Drawing_Area::new_display() {
   set_idle();
 }
 
-void Drawing_Area::resize(int X,int Y,int W,int H) {
-  if (W != w() || H != h()) {
-    this->W = W-6;
-    this->H = H-8;
+void Drawing_Area::resize(int XX,int YY,int WW,int HH) {
+  if (WW != w() || HH != h()) {
+    W = WW-6;
+    H = HH-8;
     if (buffer) {delete[] buffer; buffer = 0; new_display();}
   }
-  Fl_Box::resize(X,Y,W,H);
+  Fl_Box::resize(XX,YY,WW,HH);
 }
 
 //
-// End of "$Id: mandelbrot.cxx,v 1.8.2.3 2001/01/22 15:13:41 easysw Exp $".
+// End of "$Id: mandelbrot.cxx,v 1.8.2.4 2001/04/13 19:07:40 easysw Exp $".
 //
diff --git a/test/porsche.xpm b/test/porsche.xpm
index 1dc60e9b60ebad84d062e125901316b7c395f267..be33073ffe8d880b3550d0d4b464eaf90c9158df 100644
--- a/test/porsche.xpm
+++ b/test/porsche.xpm
@@ -1,5 +1,5 @@
 /* XPM */
-static char * porsche_xpm[] = {
+static const char * porsche_xpm[] = {
 "64 64 4 1",
 " 	c #background",
 ".	c #000000000000",