Bug 315332 [Viewers] [Provider] ClassCastException happened at jface when selecting tree with using picture-capture software.
Build Identifier: M20090917-0800 We are manipulating two software - one is our developing software and the other is picture-capture software. When we select tree at our developing software, then ClassCastException happend. This is the stack trace(scroll below) java.lang.ClassCastException: org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider cannot be cast to org.eclipse.jface.viewers.ColumnLabelProvider at org.eclipse.jface.viewers.SWTFocusCellManager$4.getName(SWTFocusCellManager.java:190) at org.eclipse.swt.accessibility.Accessible.get_accName(Accessible.java:932) at org.eclipse.swt.accessibility.Accessible$1.method10(Accessible.java:87) at org.eclipse.swt.internal.ole.win32.COMObject.callback10(COMObject.java:155) at org.eclipse.swt.internal.win32.OS.CallNextHookEx(Native Method) at org.eclipse.swt.ole.win32.OleFrame.getMsgProc(OleFrame.java:307) at org.eclipse.swt.internal.win32.OS.PeekMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.PeekMessage(OS.java:2975) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3468) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) Reproducible: Always
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/SWTFocusCellManager.java
Listener listener = new Listener() {
			public void handleEvent(Event event) {
				switch (event.type) {
				case SWT.MouseDown:
					handleMouseDown(event);
					break;
				case SWT.KeyDown:
					handleKeyDown(event);
					break;
				case SWT.Selection:
					handleSelection(event);
					break;
				case SWT.FocusIn:
					handleFocusIn(event);
					break;
				}
			}
		};
		viewer.getControl().addListener(SWT.MouseDown, listener);
		viewer.getControl().addListener(SWT.KeyDown, listener);
		viewer.getControl().addListener(SWT.Selection, listener);
		viewer.addSelectionChangedListener(new ISelectionChangedListener() {
			public void selectionChanged(SelectionChangedEvent event) {
				if( event.selection.isEmpty() ) {
					setFocusCell(null);
				}
			}
		});
		viewer.getControl().addListener(SWT.FocusIn, listener);
		viewer.getControl().getAccessible().addAccessibleListener(