angularjs-eclipse icon indicating copy to clipboard operation
angularjs-eclipse copied to clipboard

Syntax Coloring preference page will throw IllegalArugmentException while pressing OK if color preference was update outside

Open tan9 opened this issue 10 years ago • 5 comments

When I set the syntax color from outside the preference page (specifically, from the eclipse-color-theme plugin), and navigate to the Syntax Coloring page, and press OK, following exception will be thrown:

java.lang.IllegalArgumentException: Argument not valid
    at org.eclipse.swt.SWT.error(SWT.java:4378)
    at org.eclipse.swt.SWT.error(SWT.java:4312)
    at org.eclipse.swt.SWT.error(SWT.java:4283)
    at org.eclipse.swt.graphics.GC.setBackground(GC.java:4190)
    at org.eclipse.swt.custom.StyledTextRenderer.drawLine(StyledTextRenderer.java:383)
    at org.eclipse.swt.custom.StyledText.handlePaint(StyledText.java:6106)
    at org.eclipse.swt.custom.StyledText$7.handleEvent(StyledText.java:5642)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1081)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
    at org.eclipse.swt.widgets.Composite.WM_PAINT(Composite.java:1491)
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4668)
    at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:340)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4990)
    at org.eclipse.swt.internal.win32.OS.VtblCall(Native Method)
    at org.eclipse.swt.internal.ole.win32.IOleInPlaceObject.InPlaceDeactivate(IOleInPlaceObject.java:21)
    at org.eclipse.swt.ole.win32.OleClientSite.deactivateInPlaceClient(OleClientSite.java:559)
    at org.eclipse.swt.ole.win32.OleClientSite.onDispose(OleClientSite.java:908)
    at org.eclipse.swt.ole.win32.OleClientSite.access$1(OleClientSite.java:895)
    at org.eclipse.swt.ole.win32.OleClientSite$1.handleEvent(OleClientSite.java:129)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1081)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:812)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:875)
    at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:166)
    at org.eclipse.swt.widgets.Decorations.releaseChildren(Decorations.java:790)
    at org.eclipse.swt.widgets.Shell.releaseChildren(Shell.java:1290)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:815)
    at org.eclipse.swt.widgets.Widget.dispose(Widget.java:450)
    at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:448)
    at org.eclipse.swt.widgets.Shell.dispose(Shell.java:715)
    at org.eclipse.jface.window.Window.close(Window.java:336)
    at org.eclipse.jface.dialogs.Dialog.close(Dialog.java:994)
    at org.eclipse.jface.preference.PreferenceDialog.close(PreferenceDialog.java:318)
    at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.close(FilteredPreferenceDialog.java:698)
    at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.close(WorkbenchPreferenceDialog.java:147)
    at org.eclipse.jface.preference.PreferenceDialog$13.run(PreferenceDialog.java:987)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
    at org.eclipse.jface.preference.PreferenceDialog.okPressed(PreferenceDialog.java:945)
    at org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog.okPressed(FilteredPreferenceDialog.java:448)
    at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.okPressed(WorkbenchPreferenceDialog.java:171)
    at org.eclipse.jface.preference.PreferenceDialog.buttonPressed(PreferenceDialog.java:233)
    at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:628)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4170)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:826)
    at org.eclipse.jface.window.Window.open(Window.java:802)
    at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.open(WorkbenchPreferenceDialog.java:215)
    at org.eclipse.ui.internal.OpenPreferencesAction.run(OpenPreferencesAction.java:65)
    at org.eclipse.jface.action.Action.runWithEvent(Action.java:499)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
    at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
    at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4170)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1450)

tan9 avatar May 20 '14 16:05 tan9

The eclipse-color-theme AngularJS Eclipse Plugin integration is here: https://github.com/eclipse-color-theme/eclipse-color-theme/pull/192

I tried to assign value other than null in the

foregound_color | background_color | bold | italic | strikethrough | underline

scheme, with no luck.

tan9 avatar May 20 '14 16:05 tan9

@tan9 do you think it's possible for you to find out the problem (create a patch would be fantastic).

I'm very busy with tern.java and I would like to use my spare time to improve it.

Tell me if it's possible for you and don't hesitate to post your question about angularjs in order to I help you.

Thank's!

angelozerr avatar May 20 '14 17:05 angelozerr

You are right there is a problem with AngularJS, but there is the same problem with the XML editor of WTP.

angelozerr avatar May 20 '14 22:05 angelozerr

@angelozerr do you have any clue on this issue?

I can try to figuring out the problem while I have spare time. However, I am not familiar with PDE, so may take more time on it. Fortunately, this issue exists in WTP XML editor too, and seems nobody found it annoying, we can try our best to resolve it.

tan9 avatar May 21 '14 02:05 tan9

@angelozerr do you have any clue on this issue?

no-(

this issue exists in WTP XML editor

Exactly, and AngularJS Eclipse Syntax coloration is a copy/paste of the WTP code.

As I said you, I'm very busy with tern.java and I would like to continue to improve it. Sorry-(

angelozerr avatar May 21 '14 07:05 angelozerr