rem: messengers = fMessengerMap[B_OBSERVER_OBSERVE_ALL]; for (uint32 i = 0; i < messengers.size(); ++i) {
add: vector<BMessenger> &messengersAll = fMessengerMap[B_OBSERVER_OBSERVE_ALL]; for (uint32 i = 0; i < messengersAll.size(); ++i)
context: _ObserverList::SendNotices(unsigned long what, BMessage const *message){	// Having to new a temporary is really irritating ...	BMessage *copyMsg = NULL;	if (message) {		copyMsg = new BMessage(*message);		copyMsg->what = B_OBSERVER_NOTICE_CHANGE;		copyMsg->AddInt32(B_OBSERVE_ORIGINAL_WHAT, message->what);	} else		copyMsg = new BMessage(B_OBSERVER_NOTICE_CHANGE);	copyMsg->AddInt32(B_OBSERVE_WHAT_CHANGE, what);	vector<BHandler *> &handlers = fHandlerMap[what];	for (uint32 i = 0; i < handlers.size(); ++i) {		BMessenger msgr(handlers[i]);		msgr.SendMessage(copyMsg);	}	vector<BMessenger> &messengers = fMessengerMap[what];	for (uint32 i = 0; i < messengers.size(); ++i) {		messengers[i].SendMessage(copyMsg);	}	// We have to send the message also to the handlers	// and messengers which were subscribed to ALL events,	// since they aren't caught by the above loops.	// TODO: cleanup	handlers = fHandlerMap[B_OBSERVER_OBSERVE_ALL];	for (uint32 i = 0; i < handlers.size(); ++i) {		BMessenger msgr(handlers[i]);		msgr.SendMessage(copyMsg);	}	messengers = fMessengerMap[B_OBSERVER_OBSERVE_ALL];	for (uint32 i = 0; i < messengers.size(); ++i) {		messengers[i].SendMessage(copyMsg);	}		// Gotta make sure to clean up the annoying temporary ...	delete copyMsg;	return B_OK;}