Re: Gtk+ 2.3 ABI breakage or Gtk-Error **: incompatible build!



On Sat, 2003-11-01 at 09:44, Hans Breuer wrote:

> Looking deeper into it :
> 
> The flags started from GtkWindow::allow_shrink : 1
> are now 33 in sum which triggers the above sizeof check failure.
> 
> Also the addition of GtkWindow::(above|below)_initially changes
> the meaning of the following flags, which is another ABI
> incompatible change ...

Hmm, MSVC must pack things different. With GCC everything from
allow shring to destroy with parent will go in the 16 bits
after configure_request_count, so we go from 16 to 17 bits
in a 32 bit space, not 32 to 33 bits in a 32 bit space.

Still, it's trivial to fix by putting the flags into 
GtkWindowPrivate. And the fact that some of the other bit
fields got shifted around in the structure is something I'd
rather avoid anyways.

> Further, isn't always true above_initially == !below_initially.
> So there would be only one flag needed ?

No, that's not true - above is above all windows, below below
all windows.

> But even fixing this won't give us back a compatiple ABI. Apparently
> some gobject has changed size as well (or at least I needed to recompile
> Pango as well to get a not crashing testfilechooser ...)

I haven't seen any problems switching back and forth between GTK+-2.2
and GTK+-2.4 builds. So, it probably is some other MSVC specific
problem. Can you track it down?

Regards,
						Owen





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