[Fwd: Bug#406378: gnucash bug #406378]

Steve Langasek vorlon at debian.org
Fri Jan 19 18:35:41 EST 2007


Hi Chris,

On Sun, Jan 14, 2007 at 07:47:05PM -0500, Chris Shoemaker wrote:
> On Sun, Jan 14, 2007 at 12:52:34PM -0800, Thomas Bushnell BSG wrote:
> > See the attached message. :)

> > Please don't cast GType into guint; it breaks the API and fails on Alpha
> > (at least).  If you look at http://bugs.debian.org/406378, there is a
> > patch at the end of the bug log which Steve Langasek says fixes the
> > current problems.  Can someone please check that into gnucash for the
> > next release?

> I'll take care of it.

Thanks :)

> > And, please, don't cast GType into guint.

> > Also, Steve is serious in asking "where did they get the idea this was
> > ok"; apparently there are *lots* of gtk+ programs which are doing this,
> > and so he really would like to find what documentation or whatever is
> > confusing and leading people to make this mistake so often in so many
> > different programs.

> It's historical.  g_type_register_static() was advertized as a
> replacement for gtk_type_unique() which returned GtkType, which was a
> guint.  See:
> http://developer.gnome.org/doc/API/gtk/gtk-types.html#GTKTYPE

> When we switched from GtkType to GType, we missed the fact that GType
> wasn't also a guint.

Thanks, that confirms what I was told by another Debian maintainer.  It's
unfortunate that none of the GTK documentation explains the difference
between GtkType and GType as pertains to 64-bit architectures.  (It's also
unfortunate that the ia64 and amd64 Linux ports adopted a heap address below
2^32, leaving alpha as the only canary in the mine, but I digress. :)

I wonder if it's worth asking the GTK folks to change the signature from
unsigned long to void* at this point...

Cheers,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
vorlon at debian.org                                   http://www.debian.org/


More information about the gnucash-devel mailing list