Home Forums Software Development _host.Dispose() hangs and application does not shutdown clearly

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
  • #8000
    Yann Gagnon

    Hi all,
    You’ll have to forgive me, I’m not a software developer, though I do have some programming experience.

    I’ve gone through many of the examples, but I’m implementing the eye tracking a little bit differently since I wish to use the MVVM architecture and I’m using Caliburn Micro to help that along.

    I created a new class as a Model (as per the MVVM convention) which contains both a host and a wpfinteractor as properties, and it has an OnExit method to Dispose the host. I create an instance of the model in the ViewModel (again MVVM). The problem is that Dispose hangs. However, if I call OnExit during the construction of the ViewModel(), then the method OnExit runs host.Dispose properly and all is good.

    I’ve inspected my Model with a breakpoint, and the host appears to be a complete object, with an Id and everything. I’m at a lost why running OnExit within the ViewModel() constructor works, while it hangs when calling OnExit elsewhere. Again, the method is accessed, I have some dummy output to verify it, but it hangs at host.Dipose(). I should also note that I can get the eye tracking to work and output the gaze stream to the output window. The problem persists with or without any access to gaze stream data.

    I would appreciate any enlightenment!

    Yann Gagnon

    Update: I got it to work quickly by implementing a Stop Eye Tracker button and linking it to a method. My feeling is that the order of things shutting down was the culprit. Still hoping to implement a more robust solution.

    Grant [Tobii]

    Hi @yanngagnon, thanks letting us know and glad you figure the solution. Indeed you will need to stop tracking in this instance and be careful of the order but I will pass along your comments to developers who may be able to provide you with an alternative if appropriate.

    May I ask specifically what flavour of the Tobii Core SDK you are running? I think it would be great if you could share some of your project when possible for any other users interested in MVVM Architecture.

    Yann Gagnon

    Hi @Grant. I’m using the Interaction API in VS17.

    What I’ve done is installed Caliburn Micro (lots of tutorials online), which makes it easier to set up an MVVM architecture, but relies on naming conventions.

Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.