Mantis Bugtracker
  

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  
Assigned To cwp
Priority normal Resolution open  
Status assigned  
Summary 0006931: Choose dialog for "List of senders" ignores selected entry.
Description 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.
Additional Information Maybe OBSendersBrowser have to use

defaultMetaNode
    ^self sendersNav: #sendersOfMessage

to create defaultMetaNode instead of

defaultMetaNode
    ^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

- Relationships

- Notes
(0011865 - 1139 - 1315 - 1315 - 1315 - 1315 - 1315)
ash_logior
02-24-08 11:24

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)
Damien Cassou
02-25-08 07:49

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)
ash_logior
02-25-08 08:56

Damien,

OK--I committed the changes to OB-Standard-alog.327.
 

- Issue History
Date Modified Username Field Change
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.
Powered by Mantis Bugtracker