This change set merges the functions of DeferredActionStandardSystemController into Controller. Class DeferredActionStandardSystemController is retained as an stub subclass in order to protect external packages that refer to it (e.g. CommandShell). It should be removed one release cycle after this change set is incorporated.
For both MVC and Morphic, deferred UI messages can now be scheduled by: Project addDeferredUIMessage: something
The ProcessBrowser has been updated to use this idiom. In addition, some changes are made to ProcessBrowser to permit clean image restart for an active ProcessBrowser with auto-update enabled.
Implementation note: The deferred action queue is moved up to Controller rather than StandardSystemController so that scheduling of deferred UI actions works regardless of which controller is currently active. This is important when, for example, deferred actions are scheduled during system startup and a ScreenController is the active controller (ProcessBrowser may do this during startup).
ProcessBrowser note: For simplicity, any active instances of ProcessBrowser will have their auto-update processes stopped prior to this update. After the update is complete, new instances of ProcessBrowser will be able to maintain auto-update following an image restart; however, the current instances will still lack this ability. Just open new ProcessBrowsers and all should be well.
Both the DeferredActionSystemController and ProcessBrowser are created by Ned Konz. This change set adds no new functionality except as described above.
Dave
squeak-dev@lists.squeakfoundation.org