Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 312235

Summary: [KeyBindings] Binding for "Synchronize with Repository" is not handled
Product: [Eclipse Project] Platform Reporter: Oliver Heering <sloppydrive>
Component: TeamAssignee: Platform Team Inbox <platform-team-inbox>
Status: CLOSED DUPLICATE QA Contact:
Severity: normal    
Priority: P3 CC: pwebster, tomasz.zarna
Version: 3.6   
Target Milestone: ---   
Hardware: Macintosh   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:

Description Oliver Heering CLA 2010-05-10 06:46:43 EDT
Build Identifier: 20100506-2000

I am always using the latest Eclipse JEE milestones for MacOS X (Cocoa, 64bit) as they usually give me the best performance.

In the past I configured a key binding (SHIFT+CMD+S) for "Synchronize with Repository" which I used very often from the Package Explorer or even from withing a (Java) file editor to quickly sync with our CVS repository. While this was working nicely in Eclipse 3.6 (Helios) M5, it stopped working in M6 and M7. Instead of synchronizing it does nothing or jumps to another line in the project explorer.

As i searched the bug reports i found out how to trace things happening in Eclipse. These are my debug options:

org.eclipse.ui/debug=true
org.eclipse.ui/trace/keyBindings=true
org.eclipse.ui/trace/keyBindings.verbose=true
org.eclipse.ui/trace/sources=true
org.eclipse.ui/trace/handlers=true
org.eclipse.ui/trace/handlers.verbose=true
org.eclipse.ui/trace/handlers.verbose.commandId=org.eclipse.team.cvs.ui.sync

And these are the debug log entries from M5 (correct behavior, leaving some lines out):

HANDLERS >>> Command('org.eclipse.team.cvs.ui.sync') has changed to 'ActionDelegateHandlerProxy(null,org.eclipse.team.internal.ccvs.ui.actions.SyncAction)' as its handler
KEYS >>> Listener.handleEvent(type = KeyDown, stateMask = 0x0, keyCode = 0x20000, time = 45842030, character = 0x0)
KEYS >>> Listener.handleEvent(type = KeyDown, stateMask = 0x20000, keyCode = 0x400000, time = 45842846, character = 0x0)
KEYS >>> Listener.handleEvent(type = KeyDown, stateMask = 0x420000, keyCode = 0x73, time = 45845334, character = 0x73)
KEYS >>> WorkbenchKeyboard.press(potentialKeyStrokes = [COMMAND+SHIFT+S])
KEYS >>> WorkbenchKeyboard.executeCommand(commandId = 'org.eclipse.team.cvs.ui.sync', parameters = {})
SOURCES >>> Active editor id changed to null
[...]
SOURCES >>> Active part changed to org.eclipse.team.internal.ui.synchronize.SynchronizeView@441944ae
SOURCES >>> Active part id changed to org.eclipse.team.sync.views.SynchronizeView
[...]
SOURCES >>> Active shell changed to Shell {Synchronizing CVS}
[... synchronizing takes place ...]
HANDLERS >>> Command('org.eclipse.team.cvs.ui.sync') has changed to no handler

With M6 and M7 the same procedure looks as follows:

KEYS >>> Listener.handleEvent(type = KeyDown, stateMask = 0x0, keyCode = 0x20000, time = 40301526, character = 0x0)
KEYS >>> Listener.handleEvent(type = KeyDown, stateMask = 0x20000, keyCode = 0x400000, time = 40302246, character = 0x0)
KEYS >>> Listener.handleEvent(type = KeyDown, stateMask = 0x420000, keyCode = 0x73, time = 40307798, character = 0x73)
KEYS >>> WorkbenchKeyboard.press(potentialKeyStrokes = [COMMAND+SHIFT+S])
KEYS >>> WorkbenchKeyboard.executeCommand(commandId = 'org.eclipse.team.cvs.ui.sync', parameters = {})
KEYS >>>     not handled

There are no other "HANDLERS"-lines in the log refering to org.eclipse.team.cvs.ui.sync. It just isn't handled and therefore nothing happens.

This wrong behavior might occur with other commands from the "team" plugin (or even other plugins?) as well. Haven't had time to check though...

Reproducible: Always

Steps to Reproduce:
1. Download, unpack and start Eclipse JEE 3.6 M6 or M7 for MacOS X Cocoa
(1a. Use the debug options stated above and redirect output to a log file or anywhere where you can see it. I assume you know how to do this.)
2. Go to preferences, change key binding for "Synchronize with Repository" to COMMAND+SHIFT+S
3. Select the project explorer and press COMMAND+SHIFT+S
4. Look at the log. You will notice the "not handled" line there.
Comment 1 Tomasz Zarna CLA 2010-05-14 06:30:37 EDT
Paul is this something we did or were there a change on the UI side? I don't remember anything in Team that could cause this, but I may be missing something.
Comment 2 Oliver Heering CLA 2010-05-14 06:42:57 EDT
(In reply to comment #1)
> Paul is this something we did or were there a change on the UI side? I don't
> remember anything in Team that could cause this, but I may be missing
> something.

I wasn't sure whether to file the bug to "Team" or "UI". Maybe it is wrong here but it somehow fitted both categories... ;)
Comment 3 Paul Webster CLA 2010-05-14 08:17:34 EDT
(In reply to comment #1)
> Paul is this something we did or were there a change on the UI side? 

Isn't this bug 306173, related to  bug 303784 and the fallout from bug 300526

PW
Comment 4 Tomasz Zarna CLA 2010-05-14 08:26:04 EDT

*** This bug has been marked as a duplicate of bug 306173 ***