discuss-gnustep
[Top][All Lists]
Advanced

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

Re: fix for startup of AClock


From: Stefan Bidi
Subject: Re: fix for startup of AClock
Date: Fri, 6 May 2011 09:09:30 -0500

FYI, that patch is incorrect and will probably not work as intended.  You need to wait for NSSound to finish playing the sound before you can send -play again or else it just doesn't do anything.  For this to work you'll need to setup a delegate that responds to -sound:didFinishPlaying: to find out when the sound is done and send -play again from there.  Looping won't work here.

I haven't look at the rest of the file, but it also looks like you're leaking the NSSound instance.  You call -initWithContentsOfFile:, -retain, -play and than -release.  The init method returns an instance with retainCount == 1.  It's been a while since I look at the NSSound but if I remember correct the instance isn't retained when you call -play, so you can't call -release immediately after it either.  You must setup the delegate correctly and release the object from there.

On Fri, May 6, 2011 at 8:30 AM, Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> wrote:
Hi,

On Friday, May 6, 2011 01:43 CEST, Riccardo Mottola <riccardo.mottola@libero.it> wrote:

> Hi Fred,
>
> I cleaned up some of the old apps that way, but only recently discovered
> that the apps do not start up at all if written that way. Sebastian
> essentially confirms this.
>
> Even if the fix is quite simple, I don't understand why it broke. It
> doesn't work for me on plain 32biit x86 and sparc on linux or NetBSD
> iwth the gcc runtime. Thus it is not at all libobjc2 or clang.

attached diff includes the change i sent before, but removes even more compilation warnings, regarding unused variables and the like.
only one warning left, where it uses a private method of NSColor, +colorFromString:. Don't know how to replace this with sth. better.
Further, instead of using this playsound command, I changed it to use NSSound, which works for me so far so good. I only see one problem yet, where the cuckoo sound is played in a loop. I here the sound only once, but don't know why, maybe someone can tell me what is wrong there?

cheers,
Sebastian


>
> Riccardo
>
> Fred Kiefer wrote:
> > All these patches are nice and fine and should be applied. But there
> > seems to be an underlying issue with libobjc2 that should be fixed as
> > well. The old code is sub-optimal but I cannot see an obvious bug in
> > it, it should actually work. And if it doesn't then it is the runtime
> > that is at fault here.
> >
> > David, could you please look into this? And if it isn't the runtime
> > that is wrong here, please explain why the old code was wrong. We or
> > at least I could learn a bit more about the details of Objective-C here.
> >
> > On 05.05.2011 16:39, Sebastian Reitenbach wrote:
> >> attached a similar fix to get AClock from gap CVS to start up.
> >> Actually the same as for LapisPuzzle.
> >> Further the URL in the Info... window points to a nonexistent host,
> >> but since there is no special page on GAP for it (yet) I did not
> >> updated it too.
> >> Anyone knows what this playsound binary is, which is used to play the
> >> sounds?
> >
> >
> > _______________________________________________
> > Discuss-gnustep mailing list
> > Discuss-gnustep@gnu.org
> > https://lists.gnu.org/mailman/listinfo/discuss-gnustep
>
>
> _______________________________________________
> Discuss-gnustep mailing list
> Discuss-gnustep@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnustep





_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnustep


Attachment: AClock-with-NSSound.diff
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]