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