Eliot Miranda uploaded a new version of MorphicExtras to project The Trunk:
http://source.squeak.org/trunk/MorphicExtras-eem.320.mcz
==================== Summary ====================
Name: MorphicExtras-eem.320
Author: eem
Time: 6 July 2022, 9:45:25.449703 am
UUID: c0d225df-dd2b-4722-ae89-835d65139e20
Ancestors: MorphicExtras-mt.319
Avoid the WebCamMorph>>drawOn: method immediately turning on a webcam that has been turned off, while at the same time ensuring that the drawOn: method does cause the webcam to turn on when first opened.
Use allSubInstances when checking for other users of a webcam in WebCamMorph>>off so that subclasses can be active.
=============== Diff against MorphicExtras-mt.319 ===============
Item was changed:
----- Method: WebCamMorph>>drawOn: (in category 'drawing') -----
drawOn: aCanvas
camIsOn ifFalse:
+ [| turnOn |
+ turnOn := displayForm isNil.
+ self initializeDisplayForm.
+ turnOn ifTrue: [self on]].
- [self initializeDisplayForm.
- self on].
camIsOn ifTrue:
[(CameraInterface frameExtent: camNum) ~= displayForm extent ifTrue:
[self initializeDisplayForm]].
displayForm ifNil:
[self initializeDisplayForm].
useFrameSize ifTrue: [self extent: frameExtent].
self drawCameraImageOn: aCanvas.
self drawFPSOn: aCanvas.
self drawOverlayTextOn: aCanvas!
Item was changed:
----- Method: WebCamMorph>>off (in category 'accessing') -----
off
self stopStepping.
camIsOn := false.
"Be careful not to close the camera if any other morphs are using the same camera."
+ (self class allSubInstances anySatisfy: [:wcm| wcm cameraNumber = camNum and: [wcm cameraIsOn]]) ifFalse:
- (self class allInstances anySatisfy: [:wcm| wcm cameraNumber = camNum and: [wcm cameraIsOn]]) ifFalse:
[CameraInterface closeCamera: camNum].
self changed
"self allInstances select: [:wcm| wcm cameraNumber = 1 and: [wcm cameraIsOn]]"!
Eliot Miranda uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-eem.479.mcz
==================== Summary ====================
Name: Compiler-eem.479
Author: eem
Time: 5 July 2022, 4:06:16.298061 pm
UUID: 61d1f08e-6212-45d1-b07a-8d4d39ce7c2f
Ancestors: Compiler-eem.478
Add BytecodeEncoder class>>isReturnSelfFromMethodAt:in: and Sista & V3 implementations so that CompiledCode>>hasMethodReturn can be implemented correctly.
=============== Diff against Compiler-eem.478 ===============
Item was added:
+ ----- Method: BytecodeEncoder class>>isReturnSelfFromMethodAt:in: (in category 'instruction stream support') -----
+ isReturnSelfFromMethodAt: pc in: method
+ "Answer whether the bytecode at pc is a return self from method."
+
+ self subclassResponsibility!
Item was added:
+ ----- Method: EncoderForSistaV1 class>>isReturnSelfFromMethodAt:in: (in category 'instruction stream support') -----
+ isReturnSelfFromMethodAt: pc in: method
+ "Answer whether the bytecode at pc is a return self from method."
+
+ ^(method at: pc) = 88!
Item was added:
+ ----- Method: EncoderForV3 class>>isReturnSelfFromMethodAt:in: (in category 'instruction stream support') -----
+ isReturnSelfFromMethodAt: pc in: method
+ "Answer whether the bytecode at pc is a return self from method."
+
+ ^(method at: pc) = 120!
Eliot Miranda uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-eem.478.mcz
==================== Summary ====================
Name: Compiler-eem.478
Author: eem
Time: 5 July 2022, 3:48:42.124762 pm
UUID: 86982c07-bd3e-433f-9eaa-ff18ec4828f7
Ancestors: Compiler-mt.477
Add missing EncoderForSistaV1 class>>isReturnTopFromMethodAt:in:
=============== Diff against Compiler-mt.477 ===============
Item was added:
+ ----- Method: EncoderForSistaV1 class>>isReturnTopFromMethodAt:in: (in category 'instruction stream support') -----
+ isReturnTopFromMethodAt: pc in: method
+ "Answer whether the bytecode at pc is a return stack top from method."
+
+ ^(method at: pc) = 92!