The Trunk: Tools-ct.1368.mcz
[email protected] Mon, 27 Jul 2026 07:16:30 0000
| Newsgroups | gmane.comp.lang.smalltalk.squeak.general |
|---|---|
| Message-ID | <[email protected]> |
Marcel Taeumel uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-ct.1368.mcz
==================== Summary ====================
Name: Tools-ct.1368
Author: ct
Time: 12 July 2026, 12:13:26.849553 am
UUID: 9f31ff80-a173-4f42-8dba-747c9cf613cf
Ancestors: Tools-mt.1366
Fixes possible debugger storm when hovering a nested message category in a tree browser and then deselecting the class (via keyboard, mouseOverForKeyboardFocus needs to be disabled) before the balloon pops up. Thanks to Lauren (lrnp) for the report!
Also avoids two similar MNUs when using some category menu commands while no class is selected.
On a quick investigation, I did not find any further occurences of this pattern (help selector depending on other state which might have been outdated since construction of the list/tree item) in the Tools package. :-)
=============== Diff against Tools-mt.1366 ===============
Item was changed:
----- Method: Browser>>categorizeAllUncategorizedMethods (in category 'message category list') -----
categorizeAllUncategorizedMethods
"Categorize methods by looking in parent classes for a method category."
+ self hasClassSelected ifFalse: [^ self].
+
self classOrMetaClassOrganizer classifyAllUnclassified.
self changed: #messageCategoryList.
self selectMessageCategoryNamed: nil. "'as yet unclassified' might be gone now"!
Item was changed:
----- Method: Browser>>removeEmptyCategories (in category 'message category functions') -----
removeEmptyCategories
self okToChange ifFalse: [^ self].
+ self hasClassSelected ifFalse: [^ self].
+
self selectedClassOrMetaClass organization removeEmptyCategories.
self changed: #messageCategoryList:.
self selectMessageCategoryNamed: nil. "current category might be gone now"
!
Item was changed:
----- Method: TreeBrowser>>messageCategoryLabel: (in category 'message category tree') -----
messageCategoryLabel: category
| label |
+ self hasClassSelected ifFalse: [^ nil]. "help texts for balloons are requested with a delay, user might have selected a different or no class in the meantime"
+
category = ClassOrganizer allCategory ifTrue: [^ category].
category = self class extensionCategory ifTrue: [^ category].
category = self class coreCategory ifTrue: [^ category].
label := self findTrimmedSuffix: category.
(self classOrMetaClassOrganizer categories includes: category)
ifFalse: [
label := '(', label, ')'].
^ label!
Squeak-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]