getting rid of anObsoleteOBNotifier
Jeff Sparkes
JSparkes at databeacon.com
Wed Oct 20 14:26:47 UTC 2004
It seems that one of the upgrade to Omnibrowser left a registered event behind, so I get
error about AnObsoleteOBNotifier>>event:
I'm pretty sure it's because the OBNotifier class was renamed to OBNotification, so there's now no receiver. How can I unregister this event? I've spent time poking around in SystemEventManager, WeakMessageSend, and WeakActionSend and actionMaps, but I still haven't found the magic way to unregister this event. The intersection between obsolete classes and events is hurting my brain.
The best solution I found was to explore "Smalltalk obsoleteClasses". It turns out that anObsoleteNotifier was at: 29, so I did "(Smalltalk obsoleteClasses at: 29) becomeForward: OBNotification class", which seems to have done the trick.
Is this a general technique to use after renaming classes?
How would I have done this if there wasn't another class to point to? (I.e. the class had been deleted.)
Should there be this many obsolete classes? http://minnow.cc.gatech.edu/squeak/2176 tells how to delete them, but with a scary red warning above it.
More information about the Squeak-dev
mailing list
|