Patch for gtklayout.c of the gtk+-1.2.4 distribution.

Author: Wolfgang.Glas@hfm.tu-graz.ac.at

Problem fixed:
    
   The Guffaw-scrolling of gtklayout.c was heavily dependent on X11 event calls,
which wasn't compatible with Win32. 

   Also Win32 does not support static Gravity, so I implemented a fallback
scrolling method, which works halfway, but I consider it to be useful because
I get good results with gtkplot-4.0 under Win32.

Technicalities:

  This patch is an all-platform re-write of The guffaw-scrolling 
in gtklayout.c.

  As I can't handle configure events for the bin_window using gdk-calls, 
I decided to mark
the temporary expose events from the scrolling by a contaminated
expose-event, which tells the expose-event handler to treat the temporary
exposures just the way that the original gtklayout.c did.

  I also had to hack a facility to pop the expose events from the gdk
event stack instead of using X11-filters. This code should be replaced
by a gdk_event_... call, which works just like XCheckIfEvent or some
call which extends the possibilities of gdk_event_get_graphics_expose, which
is far too less flexible for the requirements of guffaw-scrolling.

  I tested the patch under IRIX-6.5 with gcc-2.95.1 and under Win32
using Tor Lillquist's gtk+19990828 snapshot. My aim was to port an application
which uses gtkplot-4.0 to Win32, which succeeded with this patch.

  At my advice the patch should be carefully tested with a set of X Servers
and platforms. Maybe the original author Mark Owen should also srtess-test
the new scrolling source in order to make it a reliable replacement for
the former version.


   Wolfgang Glas