2014/1/14 <[email protected]> > Igor Stasenko wrote: > > > > > On 14 January 2014 14:04, <[email protected]> wrote: > >> While investigating >> https://pharo.fogbugz.com/f/cases/12640/PhLTitledTreeModel-refresh-called-too-often >> I came across the following behaviour... >> >> 1. In Workspace do... "Announcer new inspect." >> >> 2. In that Announcer inspector do... "registry inspect." >> >> 3. In that SubscriptionRegistry inspector monitor the 'subscriptions' >> ivar for subsequent steps. >> * 'subscription' is initially an empty IdentitySet. >> >> 4. In the Announcer inspector do... "self open" >> * window "Spy: an Announcer" appears >> * 'subscriptions' now contains one AnnouncementSubscription >> >> 5. In the Announcer inspector again do... "self open" >> * another window "Spy: an Announcer" appears >> * 'subscriptions' now contains two AnnouncementSubscription >> >> 6. Close both Spy windows >> * 'subscriptions' still contains two AnnouncementSubscription >> >> Is the result of step 6 expected and/or desired? Intuitively I would >> expect 'subscriptions' to be empty. >> Doing "Smalltalk garbageCollect" has no effect. >> >> > maybe because AnnouncementSpy should use weak subscriptions or take care > about unsubscribing once it is closed? > it seems like AnnouncementSpy never receives #close message.. (because > if you do it should unsubscribe) > either way this is bug and should be fixed. > > > cheers -ben >> >> >> > > > -- > Best regards, > Igor Stasenko. > > Thanks Igor. Thats something I might have a go at. > > https://pharo.fogbugz.com/f/cases/12649/Closing-AnnouncementSpy-does-not-unregister-from-associatedAnnouncer >
I just implemented windowIsClosing, as this is called by closing the system window. It calls self close in AnnouncementSpy for unregistering from the Announcer.
