Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gaze only works for initial UI thread of an application #3589

Closed
2 tasks
peteams opened this issue Nov 30, 2020 · 2 comments · Fixed by #3590
Closed
2 tasks

Gaze only works for initial UI thread of an application #3589

peteams opened this issue Nov 30, 2020 · 2 comments · Fixed by #3590
Assignees
Labels
bug 🐛 An unexpected issue that highlights incorrect behavior Completed 🔥 gaze 👀
Milestone

Comments

@peteams
Copy link
Contributor

peteams commented Nov 30, 2020

Describe the bug

The GazeInteraction library only provides support for the initial UI thread. If an application spawns a additional UI threads, GazeInteraction will be inactive. This was supported in the previous version (C++/CX) version.

  • Is this bug a regression in the toolkit? If so, what toolkit version did you last see it work:

Steps to Reproduce

  • Can this be reproduced in the Sample App? (Either in a sample as-is or with new XAML pasted in the editor.) If so, please provide custom XAML or steps to reproduce. If not, let us know why it can't be reproduced (e.g. more complex setup, environment, dependencies, etc...)

Steps to reproduce the behavior:

  1. Build the toolkit solution
  2. Start the GazeInputTest application from the Tests folder and check the large buttons work
  3. Press the Spawn button to start a second UI thread for the application
  4. Notice that when the original UI is in focus it continues to work, but that the second UI is unresponsive to gaze

Expected behavior

Gaze should work on all UI threads.

Screenshots

If applicable, add screenshots to help explain your problem.

Environment

NuGet Package(s): 

Package Version(s): 

Windows 10 Build Number:
- [ ] Fall Creators Update (16299)
- [ ] April 2018 Update (17134)
- [ ] October 2018 Update (17763)
- [ ] May 2019 Update (18362)
- [ ] May 2020 Update (19041)
- [ ] Insider Build (build number: )

App min and target version:
- [ ] Fall Creators Update (16299)
- [ ] April 2018 Update (17134)
- [ ] October 2018 Update (17763)
- [ ] May 2019 Update (18362)
- [ ] May 2020 Update (19041)
- [ ] Insider Build (xxxxx)

Device form factor:
- [X] Desktop
- [ ] Xbox
- [ ] Surface Hub
- [ ] IoT

Visual Studio 
- [ ] 2017 (version: )
- [ ] 2019 (version: ) 
- [ ] 2019 Preview (version: )

Additional context

This is due to the instance variable for gaze engine being a simple static rather than a thread local static.

@peteams peteams added the bug 🐛 An unexpected issue that highlights incorrect behavior label Nov 30, 2020
@ghost ghost added the needs triage 🔍 label Nov 30, 2020
@ghost
Copy link

ghost commented Nov 30, 2020

Hello peteams, thank you for opening an issue with us!

I have automatically added a "needs triage" label to help get things started. Our team will analyze and investigate the issue, and escalate it to the relevant team if possible. Other community members may also look into the issue and provide feedback 🙌

@michael-hawker
Copy link
Member

Thanks for gatching this @peteams! Was probably lost in the translation and difference with how the languages work, glad it seems like a straight-forward fix.

@ghost ghost closed this as completed in #3590 Dec 9, 2020
@ghost ghost added Completed 🔥 and removed In-PR 🚀 labels Dec 9, 2020
ghost pushed a commit that referenced this issue Dec 9, 2020
<!-- 🚨 Please Do Not skip any instructions and information mentioned below as they are all required and essential to evaluate and test the PR. By fulfilling all the required information you will be able to reduce the volume of questions and most likely help merge the PR faster 🚨 -->

## Fixes #
Fixes #3589 
<!-- Add the relevant issue number after the "#" mentioned above (for ex: Fixes #1234) which will automatically close the issue once the PR is merged. -->

<!-- Add a brief overview here of the feature/bug & fix. -->

## PR Type
What kind of change does this PR introduce?
<!-- Please uncomment one or more that apply to this PR. -->

<- Bugfix 
<!-- - Feature -->
<!-- - Code style update (formatting) -->
<!-- - Refactoring (no functional changes, no api changes) -->
<!-- - Build or CI related changes -->
<!-- - Documentation content changes -->
<!-- - Sample app changes -->
<!-- - Other... Please describe: -->


## What is the current behavior?
<!-- Please describe the current behavior that you are modifying, or link to a relevant issue. -->
One GazePointer object per application.

## What is the new behavior?
<!-- Describe how was this issue resolved or changed? -->
One GazePointer object per (UI) thread.

## PR Checklist

Please check if your PR fulfills the following requirements:

- [ ] Tested code with current [supported SDKs](../readme.md#supported)
- [ ] Pull Request has been submitted to the documentation repository [instructions](..\contributing.md#docs). Link: <!-- docs PR link -->
- [ ] Sample in sample app has been added / updated (for bug fixes / features)
    - [ ] Icon has been created (if new sample) following the [Thumbnail Style Guide and templates](https://github.com/windows-toolkit/WindowsCommunityToolkit-design-assets)
- [ ] Tests for the changes have been added (for bug fixes / features) (if applicable)
- [ ] Header has been added to all new source files (run *build/UpdateHeaders.bat*)
- [X] Contains **NO** breaking changes

<!-- If this PR contains a breaking change, please describe the impact and migration path for existing applications below. 
     Please note that breaking changes are likely to be rejected within minor release cycles or held until major versions. -->


## Other information
@ghost ghost locked as resolved and limited conversation to collaborators Feb 7, 2021
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug 🐛 An unexpected issue that highlights incorrect behavior Completed 🔥 gaze 👀
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants