Go to the FreeLists Home Page Home Signup Help Login
 



[openbeos] || [Date Prev] [02-2004 Date Index] [Date Next] || [Thread Prev] [02-2004 Thread Index] [Thread Next]

[openbeos] Re: screen saver kit bin incompatibility

  • From: Ingo Weinhold <bonefish@xxxxxxxxxxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Mon, 09 Feb 2004 23:24:29 +0100
On 2004-02-09 at 22:58:29 [+0100], François Revol wrote:
> > "François Revol" <revol@xxxxxxx> wrote:
> > > And our implementation uses those mangled names...
> > > This obviously won't work.
> > 
> > Where does it use them?
> In the addons !
> Really no idea why they need those, isn't ld suppose to only undefine
> things that are needed ?
> 
> [revol@patrick ~/devel/SS]$ nm /boot/home/config/add-ons/Screen\ Savers
> /AttackOfTheKillerBAlerts|grep ReservedScreen
>          U ReservedScreenSaver1__12BScreenSaver
>          U ReservedScreenSaver2__12BScreenSaver
>          U ReservedScreenSaver3__12BScreenSaver
>          U ReservedScreenSaver4__12BScreenSaver
>          U ReservedScreenSaver5__12BScreenSaver
>          U ReservedScreenSaver6__12BScreenSaver
>          U ReservedScreenSaver7__12BScreenSaver
>          U ReservedScreenSaver8__12BScreenSaver

When you subclass a class all slots in the vtable of your derived class 
must be filled in. So, if you don't override those methods (which you can't 
do without hacking, since they are private) the vtable will refer to the 
base classes symbols. That's one of the points where care must be taken, 
when designing a class that shall be binary compatibility-wise 
future-proof: You have to override any method that you potentially want to 
override in the future.

But I still don't see what the original problem is.

CU, Ingo





[ Home | Signup | Help | Login | Archives | Lists ]

All trademarks and copyrights within the FreeLists archives are owned by their respective owners.
Everything else ©2007 Avenir Technologies, LLC.