One of my users of HIToolbar has brought a crash to my attention, forwarded from one of his users. I'm at a loss for the reason, and the developer himself has been unable to replicate the crash. However, we do have a crash log from the user. If anything, this article should be to make other users of HIToolbar aware of the situation, if not solve the problem.

The developer in question is Tom (no last name provided) of Thermo Global Nuclear War . I asked his permission to post the situation to this blog, and he agreed. You can contact him using his contact form.

The original message I received was this:

I'm using HIToolbar 1.1.1 and I'm having a few problems with it.

Firstly, in my application, my preferences file is called But when I add the toolbar classes to the window (everything works perfectly) and then quit, HIToolbar creates another preference file called the "o" is missing from thermo. I can't find anywhere in my application where I have spelt it wrong. I've gone over it many times. What's going on.

My second problem is that, while I'm on a G5, people using Intel machines cannot get the toolbar to work. It displays, but the items just don't do anything. The site says it's universal.. Is it?

I told him that I have tested this using both my PPC Mac Mini and Intel MacBook. Both work flawlessly, and I have never heard of any issue from my users. So he kindly sent me the following crash log, which I have truncated:

Thread 0 Crashed:
0             0x93080389 HIToolbar::CopySelectableItemIdentifiers() + 23
1             0x930832fb _HIToolbarCopySelectableIdentifiers + 31
2             0x92ea2fd5 HIToolbarItemView::ControlHitSelf(OpaqueControlRef*, short, unsigned long) + 103
3             0x92e010b8 HIView::EventHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*) + 9144
4             0x92ddb537 DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) + 1093
5             0x92ddabdc SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) + 304
6             0x92de1fbc SendEventToEventTarget + 56
7             0x92e956a5 SendControlHit(HIView*, short, unsigned long) + 187
8             0x92e95596 HIView::NotifyControlHit(short, unsigned long) + 34
9             0x92e9ee38 HIView::ClickInternal(CGPoint const&, unsigned long, void (*)(OpaqueControlRef*, short), OpaqueEventRef*, bool) + 270
10             0x92e7a045 HIView::ClickSelf(OpaqueEventRef*) + 371
11             0x92dff652 HIView::EventHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*) + 2386
12             0x92ddb537 DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) + 1093
13             0x92ddabdc SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) + 304
14             0x92de1fbc SendEventToEventTarget + 56
15             0x92e79d6f HIView::Click(OpaqueEventRef*) + 329

Not being an expert on crash logs, I simply looked at line 0, and noticed the call to HIToolbar::CopySelectableItemIdentifiers. I asked wether or not he was trying to use an empty identifier in this event, and although received no definitive yes or no, I believe he would have checked that and said something like "oh, of course, thanks" if that were the issue.

So we're at a loss now. I'm not quite sure what the problem could be. If anybody has an idea, feel free to get in touch with me, either through comments or using my email address listed with the author name of this entry.