| Summary: | AppID being changed unexpectedly | ||
|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Matthew Hatem <Matthew_Hatem> |
| Component: | SWT | Assignee: | Silenio Quarti <Silenio_Quarti> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | eclipse.felipe, gheorghe, grant_gayed, jdmiles, mpcarl, Silenio_Quarti |
| Version: | 3.6 | ||
| Target Milestone: | 3.8 | ||
| Hardware: | PC | ||
| OS: | All | ||
| Whiteboard: | |||
|
Description
Matthew Hatem
Does the launcher call SetCurrentProcessExplicitAppUserModelID() ? Why ? What happens when the app calls Display#setAppName() ? is SWT suppose to ignore it (in this case where the launcher set app id)? Yes we are calling setCurrentProcessExplicitAppUserModelID in our native code. The only problem is the initial init(). If the appID has been set it should not be overridden. If later a window wants to change we can assume it knows the efffect of such and it should be allowed. We need to be assured that the appID is set for all events happening with the launch not just once swt is up. Per MSDN "This method must be called during an application's initial startup routine before the application presents any UI or makes any manipulation of its Jump Lists." We have other native programs also chained to the launch that sometimes present GUI so we do this during the launch of the processes. Any method that will allow us to keep our ID is likely satisfactory but please work that out with Matt if there is a problem. Can you use Display#setAppName() to let SWT set the appID for you ? After the display is initialized you can set up your jump list, yes ? What if you set Display#setAppName() with the same appID you called SetCurrentProcessExplicitAppUserModelID(), will that work ? > After the display is initialized you can set up your jump list, yes ?
Note: you can use Taskbar to set a jump list in windows (with tasks).
The problem is not with taskbar it is with wrong appID. Fixed http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=2c4873016229203477f7e44fc832b4690b65c9ec SWT only sets the ID if it has not been set yet. |