Padding vfunc tables for less abi breakeage.



	Murray and I were going over some technicalities of the new Gtkmm
release and I was wondering why we couldn't have default signal handlers
(virtual methods) for new signals on old classes.  It turns out that
this will make the vtable for that class bigger which will kill ABI
compatibility.  Maybe you knew this, maybe you didn't.  That's not the
point.  My question is this: Should we pad classes with fake virtual
functions (like gtk+ does in some places) so we don't break ABI when we
add new default signal handlers for releases such as this?  Murray said
some may be opposed because of the size of the objects would get a bit
bigger, but I'd like to hear some discussion on this.  We're not sure if
this would even be possible.  Any advice/comments are welcome.  Thanks
in advance!

P.S.  If this is a good idea or even feasible, we won't start doing it
until the next release cycle, so don't worry about ABI compatibility
this cycle.

-- 
======================================================================
Bryan Forbes
bryan reigndropsfall net
http://www.reigndropsfall.net

"It does not take a majority to prevail, but rather an irate, tireless
minority keen to set brush fires in people's minds."
        - Samuel Adams, an architect of the Constitution

Key fingerprint = 3D7D B728 713A BB7B B8B1  5B61 3888 17E0 70CA 0F3D

Attachment: signature.asc
Description: This is a digitally signed message part



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