|
|
|
[
Permlink
| « Hide
]
Rob Linden added a comment - 26/Apr/07 02:54 PM
I haven't seen this on my Mac. Could you describe how you got this?
Problem is still happening with 1.15.0 (2) – to reproduce, login and minimize SL. Use another application. The dialog will pop up and steal focus from the other application.
SL also crashes frequently if an IM comes in while it is minimized. I will report this in another bug. Zorin brought this issue up in Group IM with Macintosh Users. I minimized SL to the dock, and as soon as another IM came in from the group, I got the same dialog. The dialog dismissed itself after only a few seconds. Attaching screenshot.
I also found that if you click OK in the dialog, Second Life crashes. However, (at least so far) if you just let the dialog disappear naturally, there is no crash.
So not only are we getting an unwanted dialog, but clicking on it crashes SL. Why is this code needed at all? Just dike it out. A bouncing dock icon should be enough to get our attention when IM comes in. -Z This problem is still in 1.16.0(5). But, somebody obviously munged around in the code, because the dialog is slightly different now.
I attached a screenshot of the new dialog; please just fix this! Why should there be a dialog at all? This is the dialog as it now appears.
I've seen this occasionally as well when minimized. grrr
I just fixed this. (Is this the new strategy of LL? don't fix simple but annoying bugs so that your users will? Come on guys...)
In llwindowmacosx.cpp at around line 1538, we have this bit of code: mBounceTime = seconds; Now, let's take a look at http://developer.apple.com/documentation/mac/Processes/Processes-108.html NMInstall is what bounces the icon. But you neglected to set the nmStr (dialog box) and nmResp (response function) members of the mBounceRec struct, so they are completely undefined. Failing to set nmStr results in the dialog, sometimes with random text from whatever poor innocent area of memory the undefined pointer points to, and failing to set nmResp results in the crash if you hit OK on the dialog, since you're jumping to an undefined address. In any case, the above code should look like this: mBounceTime = seconds; If you don't set nmResp, the viewer will crash immediately upon bounce with no dialog, since it's the equivalent of having hit OK on the dialog. Make those changes and everything is happy. No dialog, no crash, just a nice inconspicuous bounce of the dock icon. Your bill for my work is $0, because I'm in a generous mood. Please fix it, now that it's a cut&paste job. I implore you. Please. -Zorin Surely the memset should set nmStr and nmResp to zero anyway?
I think the problem is this:
memset(&mBounceRec, sizeof(mBounceRec), 0); should read memset(&mBounceRec, 0, sizeof(mBounceRec) ); You nailed it tenebrous. I wasn't even looking at the memset. Either way it looks we have this one nailed.
I'll split the $0 with you.
I'm marking this patch attached, hopefully this will get the attention of the Lindens. Thanks fellow open-sorcerers (although I'm a Windoozer Test, please ignore this comment. Assigned to Sardonyx for review, linked internally. Thanks for the help guys!
Fixed. Thanks, tenebrous!
This is NOT FIXED in 1.17.0 (12)
Looks like I'll be pulling the source and building my own fixed viewer again. What happened guys? Zorin – "Fixed Internally" status means that the fix is not public yet. This fix is in an internal Maintenance branch and will be included with many other forthcoming fixes in a future version. When that happens, we can change this issue to be "Fixed", meaning it's resolved publicly.
Fixed in 1.17.1. More info @ http://blog.secondlife.com/2007/06/26/optional-viewer-and-rolling-restart-this-monday-june-25th/
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||