
|
[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
|

|