Replace startUp with startUp: (was: Re: [squeak-dev] The Trunk:
Kernel-mt.987.mcz)
Levente Uzonyi
leves at caesar.elte.hu
Thu Feb 4 18:02:16 UTC 2016
While we are at it, it would be great to finally get rid of all
implementations of #startUp, and use #startUp: instead.
Why?
- implementing #startUp: in a class can interfere with the implementations
of #startUp in its subclasses (yes, it actually has happened)
- #startUp runs on image save, and in most cases, like this one, it
shouldn't
I think the same applies to #shutDown and #shutDown:.
Levente
On Thu, 4 Feb 2016, commits at source.squeak.org wrote:
> Marcel Taeumel uploaded a new version of Kernel to project The Trunk:
> http://source.squeak.org/trunk/Kernel-mt.987.mcz
>
> ==================== Summary ====================
>
> Name: Kernel-mt.987
> Author: mt
> Time: 4 February 2016, 3:06:38.350057 pm
> UUID: acfc6690-1289-41c3-984b-7f781b4a0a3f
> Ancestors: Kernel-eem.986
>
> Fixes regression with a non-working event handling mechanism on Windows machines, which occured due to the recent removal of InputSensor.
>
> Also fixes the double-interrupt problem when pressing CMD+.
>
> =============== Diff against Kernel-eem.986 ===============
>
> Item was changed:
> ----- Method: EventSensor class>>initialize (in category 'class initialization') -----
> initialize
>
> Smalltalk addToStartUpList: self after: Cursor.
> + Smalltalk addToShutDownList: self.
> +
> self installKeyDecodeTable.
> self installMouseDecodeTable.
> self install.
>
> !
>
> Item was changed:
> ----- Method: EventSensor>>shutDown (in category 'initialize') -----
> shutDown
> +
> InterruptWatcherProcess ifNotNil: [
> InterruptWatcherProcess terminate.
> + InterruptWatcherProcess := nil ].
> +
> + EventTicklerProcess ifNotNil: [
> + EventTicklerProcess terminate.
> + EventTicklerProcess := nil. ].
> +
> + inputSemaphore ifNotNil:[Smalltalk unregisterExternalObject: inputSemaphore].!
> - InterruptWatcherProcess := nil ].!
>
> Item was changed:
> ----- Method: EventSensor>>startUp (in category 'initialize') -----
> startUp
> +
> + self initialize.
> + self primSetInputSemaphore: (Smalltalk registerExternalObject: inputSemaphore).
> +
> + self installInterruptWatcher.
> + self installEventTickler.
> +
> + Smalltalk isMorphic ifTrue: [self flushAllButDandDEvents].
> +
> + "Attempt to discover whether the input semaphore is actually being signaled."
> + hasInputSemaphore := false.
> + inputSemaphore initSignals.!
> - self installInterruptWatcher.!
>
>
>
More information about the Squeak-dev
mailing list
|