dasher-project / dasher

Dasher
http://www.inference.phy.cam.ac.uk/dasher/
GNU General Public License v2.0
159 stars 45 forks source link

Stop command doesn't work #90

Closed smoothsaling closed 8 years ago

smoothsaling commented 8 years ago

In Dasher 5.0, the Stop command in the gray control box doesn't work.

ipomoena commented 8 years ago

Jordan, can you figure out why this is not working. For reference, Pause command works as expected. Thank you.

JordanD113 commented 8 years ago

Hey Ada,

Can you explain this to me a little bit? I see that you indicated it has duplicated logic.

On Sat, Mar 5, 2016 at 12:54 PM, Ada Majorek notifications@github.com wrote:

Closed #90 https://github.com/ipomoena/dasher/issues/90 via c8871d2 https://github.com/ipomoena/dasher/commit/c8871d2b539dfc40a38ccb9ac9e15735ac52a292 .

— Reply to this email directly or view it on GitHub https://github.com/ipomoena/dasher/issues/90#event-578965655.

ipomoena commented 8 years ago

Previous code was only calling function doing copy all to clipboard and speak all, if necessary. https://github.com/ipomoena/dasher/blob/master/Src/DasherCore/DasherInterfaceBase.cpp#L437

The code executed when dasher is stopped (by left click, space or circle starter) is here: https://github.com/ipomoena/dasher/blob/master/Src/DasherCore/DefaultFilter.cpp#L179

It was not obvious to me if I can somehow get to default filter instance from pNode and I didn't have much time to investigate. So I copied the logic from stop. As I look at it now, I did sloppy job, even with copying. Order of pause and stop is flipped.

If you can, please figure out how could Stop::happen(...) call stop() on default filter instance. https://github.com/ipomoena/dasher/blob/master/Src/DasherCore/ControlManager.cpp#L280