I am submitting a patch to gtk+ vs gtk+1.2.3. I realize this is old, but I have additionally checked the patches (1.2.6 vs 1.2.3), and the variables I am changing are not mentioned in them. The bug: struct GtkLayout has the following two elements: guint xoffset; guint yoffset; as unsigned int, but the rest of the code seems to treat them as signed. eg. (highly abreviated) gtk_layout_adjustment_changed (GtkAdjustment *adjustment,GtkLayout *layout) { layout->xoffset = (gint)layout->hadjustment->value; layout->yoffset = (gint)layout->vadjustment->value; } casts a float (layout->hadjustment->value) to gint before assigning to xoffset. other programs, eg. gnome canvas are capable of excercising the bug. The patch is very simple. It changes xoffset/yoffset from guint to gint in gtklayout.h hope this helps, and that i haven't missed anything. seth lytles@neaccess.com