Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Remote Application Platform (RAP) » Color is disposed issue using Zest in RAP
Color is disposed issue using Zest in RAP [message #692943] Tue, 05 July 2011 14:08 Go to next message
Arnaud MERGEY is currently offline Arnaud MERGEYFriend
Messages: 243
Registered: March 2010
Location: France
Senior Member
Hello,

some times ago I had created bug 346914 against Zest port in RAP. The initial issue described in the bug is fixed, but there where one remaining issue.
Trying to display a zest graph viewer, there is a "org.eclipse.swt.SWTException: Graphic is disposed" exception thrown because colors are disposed.

Austin Riddle who fixed the bug mentioned "The Zest issue about the disposed colors I have seen as well. But I can seem to work around it in most cases by avoiding certain Graph connection types."

But I am not able to display any graph without having the disposed color issue, so I probably missed something on how to workaround this issue.

What does "avoiding certain graph connection types" means ? is it related to Style Provider that can be used (IConnectionStyleProvider, ...) ?

Thanks for the help
Regards


Re: Color is disposed issue using Zest in RAP [message #692984 is a reply to message #692943] Tue, 05 July 2011 15:24 Go to previous messageGo to next message
Arnaud MERGEY is currently offline Arnaud MERGEYFriend
Messages: 243
Registered: March 2010
Location: France
Senior Member
Investigating the issue in Zest code, I found the disposed color

If I apply following patch, the issue is gone, do you think it is a zest bug ?


### Eclipse Workspace Patch 1.0
#P org.eclipse.zest.core
Index: src/org/eclipse/zest/core/widgets/internal/GraphLabel.java
===================================================================
RCS file: /cvsroot/rt/org.eclipse.rap/incubator/ports/gef/org.eclipse.zest.core/src/org/eclipse/zest/core/widgets/internal/GraphLabel.java,v
retrieving revision 1.1
diff -u -r1.1 GraphLabel.java
--- src/org/eclipse/zest/core/widgets/internal/GraphLabel.java 9 Dec 2010 19:39:56 -0000 1.1
+++ src/org/eclipse/zest/core/widgets/internal/GraphLabel.java 5 Jul 2011 15:18:16 -0000
@@ -208,7 +208,7 @@

graphics.popState();

- lightenColor.dispose();
+// lightenColor.dispose();
}

protected Color getBackgroundTextColor() {



Exception get without above patch

org.eclipse.swt.SWTException: Graphic is disposed
at org.eclipse.swt.SWT.error(SWT.java:3538)
at org.eclipse.swt.SWT.error(SWT.java:3458)
at org.eclipse.swt.SWT.error(SWT.java:3429)
at org.eclipse.swt.graphics.Color.getRed(Color.java:174)
at org.eclipse.rwt.lifecycle.JSWriter.getColorValue(JSWriter.java:904)
at org.eclipse.rwt.lifecycle.JSWriter.createParamList(JSWriter.java:839)
at org.eclipse.rwt.lifecycle.JSWriter.createParamList(JSWriter.java:807)
at org.eclipse.rwt.lifecycle.JSWriter.call(JSWriter.java:597)
at org.eclipse.swt.internal.widgets.canvaskit.GCOperationWriter.setProperty(GCOperationWriter.java:233)
at org.eclipse.swt.internal.widgets.canvaskit.GCOperationWriter.write(GCOperationWriter.java:72)
at org.eclipse.swt.internal.widgets.canvaskit.CanvasLCA.writeGCOperations(CanvasLCA.java:62)
at org.eclipse.swt.internal.widgets.canvaskit.CanvasLCA.renderChanges(CanvasLCA.java:45)
at org.eclipse.rwt.lifecycle.AbstractWidgetLCA.render(AbstractWidgetLCA.java:36)
at org.eclipse.swt.internal.widgets.displaykit.DisplayLCA$RenderVisitor.render(DisplayLCA.java:72)
at org.eclipse.swt.internal.widgets.displaykit.DisplayLCA$RenderVisitor.doVisit(DisplayLCA.java:56)
at org.eclipse.swt.internal.widgets.WidgetTreeVisitor$AllWidgetTreeVisitor.visit(WidgetTreeVisitor.java:36)
at org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:50)
at org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:57)
at org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:57)
at org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:57)
at org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:57)
at org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:57)
at org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:57)
at org.eclipse.swt.internal.widgets.displaykit.DisplayLCA.renderShells(DisplayLCA.java:175)
at org.eclipse.swt.internal.widgets.displaykit.DisplayLCA.render(DisplayLCA.java:147)
at org.eclipse.rwt.internal.lifecycle.Render.execute(Render.java:29)
at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.continueLifeCycle(RWTLifeCycle.java:190)
at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.sleep(RWTLifeCycle.java:260)
at org.eclipse.swt.widgets.Display.sleep(Display.java:1165)
at org.eclipse.ui.application.WorkbenchAdvisor.eventLoopIdle(WorkbenchAdvisor.java:361)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2734)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2694)
at org.eclipse.ui.internal.Workbench.access$5(Workbench.java:2530)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:702)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:685)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:157)
at snippet.zest.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:73)
at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.createUI(RWTLifeCycle.java:211)
at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:88)
at java.lang.Thread.run(Thread.java:662)
at org.eclipse.rwt.internal.lifecycle.UIThread.run(UIThread.java:102)

[Updated on: Tue, 05 July 2011 15:25]

Report message to a moderator

Re: Color is disposed issue using Zest in RAP [message #693027 is a reply to message #692984] Tue, 05 July 2011 16:15 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by:

Arnaud,

I am afraid that this is not a bug in Zest but in RWT. I just filed this
bug:
351216: [GC] Throws unexpected "Graphic is diposed" exception
https://bugs.eclipse.org/bugs/show_bug.cgi?id=351216

Regards,
Rüdiger


On 05.07.2011 17:24, Arnaud MERGEY wrote:
> Investigating the issue in Zest code, I found the disposed color
>
> If I apply following patch, the issue is gone, do you think it is a zest
> bug ?
>
>
> ### Eclipse Workspace Patch 1.0
> #P org.eclipse.zest.core
> Index: src/org/eclipse/zest/core/widgets/internal/GraphLabel.java
> ===================================================================
> RCS file:
> /cvsroot/rt/org.eclipse.rap/incubator/ports/gef/org.eclipse.zest.core/src/org/eclipse/zest/core/widgets/internal/GraphLabel.java,v
>
> retrieving revision 1.1
> diff -u -r1.1 GraphLabel.java
> --- src/org/eclipse/zest/core/widgets/internal/GraphLabel.java 9 Dec
> 2010 19:39:56 -0000 1.1
> +++ src/org/eclipse/zest/core/widgets/internal/GraphLabel.java 5 Jul
> 2011 15:18:16 -0000
> @@ -208,7 +208,7 @@
>
> graphics.popState();
>
> - lightenColor.dispose();
> +// lightenColor.dispose();
> }
>
> protected Color getBackgroundTextColor() {
>
> Exception get without above patch
>
>
> org.eclipse.swt.SWTException: Graphic is disposed
> at org.eclipse.swt.SWT.error(SWT.java:3538)
> at org.eclipse.swt.SWT.error(SWT.java:3458)
> at org.eclipse.swt.SWT.error(SWT.java:3429)
> at org.eclipse.swt.graphics.Color.getRed(Color.java:174)
> at org.eclipse.rwt.lifecycle.JSWriter.getColorValue(JSWriter.java:904)
> at org.eclipse.rwt.lifecycle.JSWriter.createParamList(JSWriter.java:839)
> at org.eclipse.rwt.lifecycle.JSWriter.createParamList(JSWriter.java:807)
> at org.eclipse.rwt.lifecycle.JSWriter.call(JSWriter.java:597)
> at
> org.eclipse.swt.internal.widgets.canvaskit.GCOperationWriter.setProperty(GCOperationWriter.java:233)
>
> at
> org.eclipse.swt.internal.widgets.canvaskit.GCOperationWriter.write(GCOperationWriter.java:72)
>
> at
> org.eclipse.swt.internal.widgets.canvaskit.CanvasLCA.writeGCOperations(CanvasLCA.java:62)
>
> at
> org.eclipse.swt.internal.widgets.canvaskit.CanvasLCA.renderChanges(CanvasLCA.java:45)
>
> at
> org.eclipse.rwt.lifecycle.AbstractWidgetLCA.render(AbstractWidgetLCA.java:36)
>
> at
> org.eclipse.swt.internal.widgets.displaykit.DisplayLCA$RenderVisitor.render(DisplayLCA.java:72)
>
> at
> org.eclipse.swt.internal.widgets.displaykit.DisplayLCA$RenderVisitor.doVisit(DisplayLCA.java:56)
>
> at
> org.eclipse.swt.internal.widgets.WidgetTreeVisitor$AllWidgetTreeVisitor.visit(WidgetTreeVisitor.java:36)
>
> at
> org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:50)
>
> at
> org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:57)
>
> at
> org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:57)
>
> at
> org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:57)
>
> at
> org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:57)
>
> at
> org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:57)
>
> at
> org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:57)
>
> at
> org.eclipse.swt.internal.widgets.displaykit.DisplayLCA.renderShells(DisplayLCA.java:175)
>
> at
> org.eclipse.swt.internal.widgets.displaykit.DisplayLCA.render(DisplayLCA.java:147)
>
> at org.eclipse.rwt.internal.lifecycle.Render.execute(Render.java:29)
> at
> org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.continueLifeCycle(RWTLifeCycle.java:190)
>
> at
> org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.sleep(RWTLifeCycle.java:260)
>
> at org.eclipse.swt.widgets.Display.sleep(Display.java:1165)
> at
> org.eclipse.ui.application.WorkbenchAdvisor.eventLoopIdle(WorkbenchAdvisor.java:361)
>
> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2734)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2694)
> at org.eclipse.ui.internal.Workbench.access$5(Workbench.java:2530)
> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:702)
> at
> org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
>
> at
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:685)
> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:157)
> at snippet.zest.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:73)
>
> at
> org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.createUI(RWTLifeCycle.java:211)
>
> at
> org.eclipse.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:88)
>
> at java.lang.Thread.run(Thread.java:662)
> at org.eclipse.rwt.internal.lifecycle.UIThread.run(UIThread.java:102)
>


--
Rüdiger Herrmann

Twitter: @EclipseRAP
Blog: http://eclipsesource.com/blogs/

Professional services for RAP and RCP?
http://eclipsesource.com/services/rap/
Re: Color is disposed issue using Zest in RAP [message #693077 is a reply to message #693027] Tue, 05 July 2011 18:21 Go to previous message
Arnaud MERGEY is currently offline Arnaud MERGEYFriend
Messages: 243
Registered: March 2010
Location: France
Senior Member
Many thanks Rüdiger

Regards,
Arnaud
Previous Topic:ViewerDropAdapter#validateDrop
Next Topic:themes from RAP tutorial
Goto Forum:
  


Current Time: Thu Apr 25 12:02:37 GMT 2024

Powered by FUDForum. Page generated in 0.04058 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top