OS X 10.3.3 breaks SystemTrayIconComponent


#1

On OS X 10.3.3 the bounds of the system tray owner component are (0,0,0,0). The reason is that frameChanged in the SystemTrayViewClass is never called after the NSStatusItem has been created. I assume previous versions of OS X called frameChanged at least once.

The fix is simple, after the creation of the NSStatusItem call frameChanged manually once:

statusItem = [[[NSStatusBar systemStatusBar] statusItemWithLength: NSSquareStatusItemLength] retain];
[statusItem setView: view];

SystemTrayViewClass::frameChanged(view, nil, nullptr);

Jules, do you think this could be added?

Patrick


#2

10.3! Wow..

But sure, that change is simple enough that I'm happy to add it. Can't guarantee that our future changes won't break 10.3 though!


#3

Ooops. I ment to say 10.10.3. Sorry about that :-)


#4

Ah, that makes more sense! Thanks!