This Bugzilla instance is deprecated, and most Eclipse projects now use GitHub or Eclipse GitLab. Please see the deprecation plan for details.
Bug 410068 - Keybinding Context switching stops working after reporting a conflict when switching to sibling context
Summary: Keybinding Context switching stops working after reporting a conflict when sw...
Status: VERIFIED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.3   Edit
Hardware: PC Windows 7
: P3 critical (vote)
Target Milestone: 4.4 M1   Edit
Assignee: Paul Webster CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 410705 (view as bug list)
Depends on:
Blocks: 411050
  Show dependency tree
 
Reported: 2013-06-06 08:59 EDT by Heiko Böttger CLA
Modified: 2013-08-07 06:09 EDT (History)
2 users (show)

See Also:


Attachments
Example-Editor usign context service (10.48 KB, application/x-zip-compressed)
2013-06-06 08:59 EDT, Heiko Böttger CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Heiko Böttger CLA 2013-06-06 08:59:17 EDT
Created attachment 232038 [details]
Example-Editor usign context service

In eclipse 4.2 and still in 4.3RC3 the keybinding context switching doesn't work correctly. If switching to a sibling context, eclipse reports a conflict with the previously context even if it was deactivated before. After the conflict it seems like it even doesn't switch to back to the parent context. One interessting thing is that after this error occurs, deactivating the editor by for example clicking on the Project Explorer and activating the editor again. Allows to activate the contexts again.

Attached is a simple editor example for using ALT+PAGE_UP.

1. create a .txt-file
2. open the example editor for the file
3. click on Editor.Editor1-Button and hit ALT+PAGE_UP, command Editor1 is executed
4. click on Editor.Editor1.1-Button and hit ALT+PAGE_UP, command Editor1.1 is executed
5. click on Editor.Editor2-Button, a conflict is reported
6. hit ALT+PAGE_UP, command Editor1.1 is executed
7. click on Editor.Editor1-Button and hit ALT+PAGE_UP, command Editor1.1 is still executed
8. deactivate the editor
9. activate the editor
10. click on Editor.Editor2-Button and hit hit ALT+PAGE_UP, command Editor2 is executed

Note that this is working in eclipse 3.8 and all transitions between the three contexts are performed without any problem. For us this is more or less a blocker. Since we make heavy use of this feature, we have to adviced our customers to stick with 3.8 until this is fixed.
Comment 1 Paul Webster CLA 2013-06-06 09:50:30 EDT
It looks like when we de-activate the contexts we are setting updating in org.eclipse.ui.internal.contexts.ContextService.UpdateExpression to false but that won't deactivate the context until the next time the UpdateExpression is evaluated (like on part change).

PW
Comment 2 Paul Webster CLA 2013-06-06 10:14:25 EDT
A suggested fix: https://git.eclipse.org/r/13622

Thank you very much for the example.

PW
Comment 3 Heiko Böttger CLA 2013-06-06 14:48:14 EDT
No problem. Is your commit on the master going in to the nightly build? 
Let me know if I can do a test.
Comment 4 Paul Webster CLA 2013-06-06 14:50:45 EDT
All our streams are closed as we wrap up Kepler (our RC4 is today).  When they open (maybe 2 weeks) then I can release the fix.

PW
Comment 6 Paul Webster CLA 2013-06-18 14:07:23 EDT
*** Bug 410705 has been marked as a duplicate of this bug. ***
Comment 7 Daniel Rolka CLA 2013-08-07 06:09:46 EDT
Verified in the build: I20130805-2000