Anonymous | Login | 04-16-2021 14:04 UTC |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Advanced Details [ Jump to Notes ] | [ View Simple ] [ Issue History ] [ Print ] | |||||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | |||||||
0007096 | [Squeak] Morphic | minor | always | 06-16-08 04:31 | 06-18-08 00:41 | |||||||
Reporter | Ross | View Status | public | |||||||||
Assigned To | ||||||||||||
Priority | normal | Resolution | open | Platform | ||||||||
Status | new | OS | ||||||||||
Projection | none | OS Version | ||||||||||
ETA | none | Fixed in Version | Product Version | 3.10.1 | ||||||||
Product Build | ||||||||||||
Summary | 0007096: PluggableListMorph>>mouseUp: sets index to 0 | |||||||||||
Description |
I'm not sure about the "minor;" this problem results in an exception being thrown, and the fix is probably non-trivial given the history of these methods. It is fairly easy to work around the problem in the code of the model for the PluggableListMorph. It seems to me, however, that the model should not be receiving indices of 0 in the first place. I clicked on a row that was already selected and got an error because of an attempt to access my model list at index 0. I *did* want the selection to be communicated back to the model; the row was selected by default, and the user click indicated it was the right selection. PluggableListMorph>>mouseUp: mouseUp: event "The mouse came up within the list; take appropriate action" | row mdr | row := self rowAtLocation: event position. event hand hasSubmorphs ifFalse: [ mdr := self mouseDownRow. self mouseDownRow: nil. mdr ifNil: [^self]]. (self enabled and: [model okToChange]) ifFalse: [^ self]. "No change if model is locked or receiver disabled" row == self selectionIndex ifTrue: [(autoDeselect ifNil: [true]) ifTrue:[row == 0 ifFalse: [self changeModelSelection: 0 "!!!!"] ]] ifFalse: [self changeModelSelection: row]. Cursor normal show I marked the spot with "!!!!". This leads to the index setter being called with argument 0 on the underlying model, which produces an error. The PluggableListMorph (actually, PluggableListMorphPlus, but that's not where the method is implemented) was built by ToolBuilder. |
|||||||||||
Steps To Reproduce | ||||||||||||
Additional Information |
There have been several bugs about the double-click behavior of items in lists, and various code changes as a result. The implementation of doubleClick: explicitly tests for an index of 0. Note that I was not double-clicking and not interested in the double-click behavior. I'm using Damien's sq3.10-7159dev08.06.1.zip. doubleClick: is ls 5/16/2001 22:28 ¥ PluggableListMorph ¥ events ¥ 6 implementors ¥ in no change set according to OB, and mouseUp: is gvc 8/7/2007 12:45 ¥ PluggableListMorph ¥ *Pinesoft-Widgets-override ¥ 53 implementors ¥ only in |
|||||||||||
Attached Files | ||||||||||||
|
![]() |
|||||||||||||||||||||
SYSTEM WARNING: Creating default object from empty value SYSTEM WARNING: Creating default object from empty value SYSTEM WARNING: Creating default object from empty value SYSTEM WARNING: Creating default object from empty value SYSTEM WARNING: Creating default object from empty value SYSTEM WARNING: Creating default object from empty value
|
Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
51 total queries executed. 37 unique queries executed. |