|Anonymous | Login||12-08-2021 07:42 UTC|
|Main | My View | View Issues | Change Log | Docs|
|Viewing Issue Simple Details [ Jump to Notes ]||[ View Advanced ] [ Issue History ] [ Print ]|
|ID||Category||Severity||Reproducibility||Date Submitted||Last Update|
|0006931||[Squeak Packages] OmniBrowser||minor||always||02-17-08 11:42||04-09-11 20:07|
|Reporter||Nicolai Hess||View Status||public|
|Summary||0006931: Choose dialog for "List of senders" ignores selected entry.|
Selecting implementors or senders button let you choose for which message
you want to see them. This does work for implementors
but not for senders. It always search for senders of the current
message and ignores what you selected from the choose-dialog.
Maybe OBSendersBrowser have to use
^self sendersNav: #sendersOfMessage
to create defaultMetaNode instead of
^self sendersNav: #senders
But I am not sure if it breaks code elsewhere.
Some tasks in Omnibrowser are delegated so many level deep
from caller to executor, that it is difficult to follow
an execution path.
|Attached Files||ListOfSenders.1.cs [^] (717 bytes) 02-24-08 11:18|
(0011865 - 1139 - 1315 - 1315 - 1315 - 1315 - 1315)
Using #sendersOfMessage instead of #senders sort of works, but it breaks the "chasing browsers" behavior in a "Senders of" browser.
ListOfSenders.1.cs is a simple fix for this bug.
The problem is in OBCmdBrowseList>>execute. The OBMessageNode instance that is used to determine the initial list of methods for the browser is set so that its "selector" ivar refers to the method you are currently browsing, and its "message" ivar refers to the method you select from OBChoiceRequest popup.
So the value of "selector" is only coincidentally relevant to the methods whose senders/implementors you'd like to see. But the value of "message" is always what you want, since you picked it yourself (or, since it's already the same as "selector").
And since sometimes the initial list of methods will be generated using "selector" (see OBMethodMode>>senders) and sometimes using "message" (see OBMessageNode>>implementors), the most straightforward solution is to tweak the OBMessageNode instance so that "selector" has the same value as "message". This instance doesn't get used for anything else later on, so there are no ill effects.
(0011868 - 193 - 193 - 299 - 299 - 299 - 299)
|Please commit the fix directly to the repository http://source.wiresong.ca/ob. [^] You don't need any login/password. Before, please verify what you are going to commit by using the Changes button.|
(0011869 - 63 - 75 - 75 - 75 - 75 - 75)
OK--I committed the changes to OB-Standard-alog.327.
|02-17-08 11:42||Nicolai Hess||New Issue|
|02-17-08 11:42||Nicolai Hess||Status||new => assigned|
|02-17-08 11:42||Nicolai Hess||Assigned To||=> Damien Cassou|
|02-24-08 11:18||ash_logior||File Added: ListOfSenders.1.cs|
|02-24-08 11:24||ash_logior||Note Added: 0011865|
|02-24-08 11:26||ash_logior||Issue Monitored: ash_logior|
|02-25-08 07:49||Damien Cassou||Note Added: 0011868|
|02-25-08 08:56||ash_logior||Note Added: 0011869|
|03-07-08 19:39||ash_logior||Issue End Monitor: ash_logior|
|04-09-11 20:07||cwp||Assigned To||Damien Cassou => cwp|
| Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
51 total queries executed.|
35 unique queries executed.