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
[email protected]