Complete.Org: Mailing Lists: Archives: freeciv-dev: February 2000:
[Freeciv-Dev] Re: Win32 patch
Home

[Freeciv-Dev] Re: Win32 patch

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: "David Young" <dcyoung@xxxxxxxxx>
Cc: <miky40@xxxxxxxxxxx>, <freeciv-dev@xxxxxxxxxxx>,
Subject: [Freeciv-Dev] Re: Win32 patch
From: akemnade@xxxxxxxxxxx (Andreas Kemnade)
Date: Sat, 26 Feb 2000 08:31:55 +0100 (CET)

David Young writes:
 > 
 > -----Original Message-----
 > From: Mike Jing <miky40@xxxxxxxxxxx>
 > Date: Friday, February 25, 2000 11:40 PM
 > Subject: [Freeciv-Dev] Win32 patch
 > 
 > 
 > >I downloaded the precompiled version, but the client doesn't work.  I ran
 > it
 > >on Win98 (1st ed.).  Error messages are attched.
 > >
 > >Mike
 > 
 > 
 > I'm not really sure about this, since I haven't yet upgraded from Win95, but
 > does 98 have the 64k GDI limit?  If so, that's the problem: gtk-win32 stores
 > all of its pixmaps as bitmaps, and it loads waaaay more than 64k of pixmaps.
 > I've been fiddling on and off with a workaround for this, but it's not even
 > ready for testing yet.
 > 
 > --David (not Pfitzner)
To test the limit I wrote the following program:

int main (int argc, char *argv[])
{
  GtkWidget *window;
  GtkWidget *label;
  int i;
  gtk_init (&argc, &argv);
 
  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_container_border_width (GTK_CONTAINER (window), 10);
 
  label = gtk_label_new ("Hello World");
  gtk_container_add (GTK_CONTAINER (window), label);
  gtk_widget_show (label);
  gtk_widget_show (window);
  for (i=0; i<500;i++)
    {
      gdk_pixmap_new(window->window,200,200,-1);
    }
  gtk_main ();
  return 0;
}        

There are no error messages when I run that program on win95 or wine
and I think it uses more than 64KB for bitmaps.
You can load tiles.png using gtk-win32 (I think that is single pixmap
>64KB).
When dividing the big pixmaps freeciv fails allocating some of the small
pixmaps. 

Andreas Kemnade
akemnade@xxxxxxxxxxx



[Prev in Thread] Current Thread [Next in Thread]