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

Bug 325788

Summary: FilteredTree assumes parent uses GridLayout, ends in a ClassCastException
Product: [RT] RAP Reporter: Holger Staudacher <holger.staudacher>
Component: WorkbenchAssignee: Project Inbox <rap-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: tomas.cejka
Version: 1.4   
Target Milestone: 2.1 M1   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on: 226155    
Bug Blocks:    

Description Holger Staudacher CLA 2010-09-20 15:18:27 EDT
It seems that we inherited a known JFace bug (bug 226155) . The FilteredTree assumes that the parent uses GridLayout. If not a ClassCastException will be thrown while running the TSD (see StackTrace below). 

Reproducible: always

Workaround: Use GridLayout on the parent.

StackTrace:
2010-09-20 20:47:43.637:WARN:/:ERROR:  Could not execute PhaseListener after phase 'PROCESS_ACTION'.
java.lang.ClassCastException: org.eclipse.swt.layout.GridData cannot be cast to org.eclipse.swt.layout.FillData
	at org.eclipse.swt.layout.FillLayout.flushCache(FillLayout.java:164)
	at org.eclipse.swt.widgets.Composite.changed(Composite.java:602)
	at org.eclipse.swt.internal.graphics.TextSizeDeterminationHandler$1.doVisit(TextSizeDeterminationHandler.java:86)
	at org.eclipse.swt.internal.widgets.WidgetTreeVisitor$AllWidgetTreeVisitor.visit(WidgetTreeVisitor.java:35)
	at org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:49)
	at org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:56)
	at org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:56)
	at org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:56)
	at org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:56)
	at org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:56)
	at org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:56)
	at org.eclipse.swt.internal.graphics.TextSizeDeterminationHandler.afterPhase(TextSizeDeterminationHandler.java:133)
	at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.afterPhaseExecution(RWTLifeCycle.java:371)
	at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.continueLifeCycle(RWTLifeCycle.java:208)
	at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.sleep(RWTLifeCycle.java:295)
	at org.eclipse.swt.widgets.Display.sleep(Display.java:1128)
	at org.eclipse.ui.application.WorkbenchAdvisor.eventLoopIdle(WorkbenchAdvisor.java:361)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2391)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2351)
	at org.eclipse.ui.internal.Workbench.access$5(Workbench.java:2206)
	at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:424)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.jface.internal.databinding.realmadapter.RealmAdapter.run(RealmAdapter.java:44)
	at org.eclipse.rap.ui.internal.RealmAdapterHook.runWithDefault(RealmAdapterHook.java:48)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:427)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:157)
	at com.yoxos.repodesigner.ui.Application.start(Application.java:18)
	at org.eclipse.rap.ui.internal.application.EntrypointApplicationWrapper.createUI(EntrypointApplicationWrapper.java:27)
	at org.eclipse.rwt.internal.lifecycle.EntryPointManager.createUI(EntryPointManager.java:92)
	at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.createUI(RWTLifeCycle.java:245)
	at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:114)
	at java.lang.Thread.run(Thread.java:637)
	at org.eclipse.rwt.internal.lifecycle.UIThread.run(UIThread.java:102)
Comment 1 Ivan Furnadjiev CLA 2013-02-22 07:15:53 EST
Backport the fix from bug 226155 with commit 064d249b15a6841c483853e67c8a841c6fbd7b37.