Re: [evolution-patches] small 64-bit cleanliness fixes




Hi David,

I'll get these in right away, sorry for causing problems through sheer laziness.  If only i had a 64 bit box to test on ... ;-).

The mail stuff needs a bit of moving around anyway so i'll fix that up too.

Cheers,
Z

PS in future changelogs would be nice, but don't bother this time.

On Wed, 2004-12-01 at 17:10 -0800, David Mosberger wrote:
Hi,

I needed the attached small patch to get CVS evolution to not crash on
startup on an ia64 linux box (running Debian/unstable).

With the patch applied, I get the expected layout of windows and the
mail component seems to be working fine.  Other components don't seem
to work correctly yet, apparently because evolution is failing to load
the addressbook.  For example:

  (evolution-2.2:16582): evolution-addressbook-WARNING **: error loading addressbook : e_book_new: no factories available for uri `file:///home/davidm/.evolution/addressbook/local/system'

Anyhow, the reason evolution crashed on startup was that various
*get_type() routines got implicitly declared to return "int" when they
really return GType, which is 64 bits on 64-bit platforms.  As a
result, the top 32 bits of the GType got truncated away and when
attempting to dereference the truncated value, the program would
crash.

One caveat: in mail-component.c, I had to include
"em-format-html-display.h" later than the other "em-*" includes.
That's because it depends on some Gdk types which get defined only
later on.  You may want to handle that part differently.

Thanks,


--
Michael Zucchi <notzed ximian com>
"Ride, Work, Sleep. Beer."
Novell's Evolution and Free Software Developer


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]