[openbeos] Re: ScreenSaver incompatability

  • From: François Revol <revol@xxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Mon, 5 Apr 2004 14:32:58 +0200

Why not just have Screensavers and the lib export both symbols, 
some being virtual, the others non-virtual (so we don't change 
the vtable), and have the header list the correct ones ?
I think this has been told already.

François.

Selon Michael Phipps <mphipps1@xxxxxxxxxxxxxxxx>:

> Y'all remember how back in August/Sept of 2001 I said that we should shoot 
> for binary compatibility and see what happens? Well, I have a minor issue.
> :-)
> 
> This is sort of a continuation/explanation of what Francois was talking about
> 
> a few weeks ago. It seems that when Be built the ScreenSaver preferences app,
> 
> they linked against a header that had "ReservedScreenSaverX" members, where X
> 
> varied from 1 to 8. libscreensaver.so was built against the header that ships
> 
> with R5 that has "_ReservedScreenSaverX" members. Note the underscore.
> 
> After a little testing, it seems that Be built their screensavers by linking
> 
> to libscreensaver.so. All of theirs work with my code. Some developers did 
> the same thing. Axel's very cool (according to my 8 year old) Nebula 
> screensaver, for example, works just fine. But some (Matrix, for one) 
> screensavers that did what the BeBook recommends and link against the 
> ScreenSaver preferences app instead of libscreensaver.so will not work. They
> 
> fail to load because there are missing symbols. 
> 
> So. I can go about this a couple of ways. 
> 1) I can have one header. That would break certain screensavers, but would 
> make a lot of build and use sense. It would correct the weirdness on a going
> 
> forward basis. The downside is that some screensavers would break.
> 
> 2) I can make a duplicate header that has no underscores and build my 
> ScreenSaver prefs with it. That complicates our source tree but keeps 
> everything working.
> 
> So I have a request for all of you. 
> Will you please look to see what screensaver you are running? If it is not a
> 
> stock Be one (BuyNow, Flip, Icons, Lens, Lissart, Message, Spiral, Spots, 
> StringTheme, SuperString, Blackness), will you find out where you got it from
> 
> and see if source is available? If not (and you absolutely love it), let me 
> know. 
> 
> If I don't get a flood of "save my Matrix" type emails, I will go with option
> 
> 1. :-)
> 
> Michael
> 
> 


-- 



Other related posts: