-
Bug
-
Resolution: Done
-
Major
-
4.1.0.Beta1
-
None
I just opened my Eclipse with JBT which has a lot of projects. While the projects were being built I clicked on Footer Bar widget on the palette. And then pressed Finish. Nothing happened. I gull ess because the projects were still being built. So I pressed Finish a few times more. Finally the dialog was closed and I saw that the code snippet was inserted a few times. There also were a few exceptions in the log:
org.eclipse.swt.SWTException: Widget is disposed at org.eclipse.swt.SWT.error(SWT.java:4397) at org.eclipse.swt.SWT.error(SWT.java:4312) at org.eclipse.swt.SWT.error(SWT.java:4283) at org.eclipse.swt.widgets.Widget.error(Widget.java:481) at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:418) at org.eclipse.swt.widgets.Label.setImage(Label.java:531) at org.eclipse.jface.dialogs.TitleAreaDialog.setTitleImage(TitleAreaDialog.java:674) at org.eclipse.jface.wizard.WizardDialog.hardClose(WizardDialog.java:891) at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:835) at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:432) 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:1392) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363) at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.runEventLoop(EventLoopProgressMonitor.java:123) at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.isCanceled(EventLoopProgressMonitor.java:97) at org.eclipse.core.internal.jobs.ThreadJob.isCanceled(ThreadJob.java:144) at org.eclipse.core.internal.jobs.ThreadJob.waitForRun(ThreadJob.java:233) at org.eclipse.core.internal.jobs.ThreadJob.joinRun(ThreadJob.java:197) at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:92) at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:286) at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:118) at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:2283) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2340) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2327) at org.jboss.tools.common.model.ui.editors.dnd.DefaultDropCommand.execute(DefaultDropCommand.java:133) at org.jboss.tools.jst.jsp.jspeditor.dnd.PaletteDropCommand.execute(PaletteDropCommand.java:116) at org.jboss.tools.jst.web.ui.palette.html.wizard.AbstractNewHTMLWidgetWizard.performFinish(AbstractNewHTMLWidgetWizard.java:67) at org.jboss.tools.jst.web.ui.palette.html.jquery.wizard.NewJQueryWidgetWizard.performFinish(NewJQueryWidgetWizard.java:75) at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:827) at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:432) 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:1392) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363) at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.runEventLoop(EventLoopProgressMonitor.java:123) at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.isCanceled(EventLoopProgressMonitor.java:97) at org.eclipse.core.internal.jobs.ThreadJob.isCanceled(ThreadJob.java:144) at org.eclipse.core.internal.jobs.ThreadJob.waitForRun(ThreadJob.java:233) at org.eclipse.core.internal.jobs.ThreadJob.joinRun(ThreadJob.java:197) at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:92) at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:286) at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:118) at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:2283) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2340) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2327) at org.jboss.tools.common.model.ui.editors.dnd.DefaultDropCommand.execute(DefaultDropCommand.java:133) at org.jboss.tools.jst.jsp.jspeditor.dnd.PaletteDropCommand.execute(PaletteDropCommand.java:116) at org.jboss.tools.jst.web.ui.palette.html.wizard.AbstractNewHTMLWidgetWizard.performFinish(AbstractNewHTMLWidgetWizard.java:67) at org.jboss.tools.jst.web.ui.palette.html.jquery.wizard.NewJQueryWidgetWizard.performFinish(NewJQueryWidgetWizard.java:75) at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:827) at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:432) 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:1392) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363) at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.runEventLoop(EventLoopProgressMonitor.java:123) at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.isCanceled(EventLoopProgressMonitor.java:97) at org.eclipse.core.internal.jobs.ThreadJob.isCanceled(ThreadJob.java:144) at org.eclipse.core.internal.jobs.ThreadJob.waitForRun(ThreadJob.java:233) at org.eclipse.core.internal.jobs.ThreadJob.joinRun(ThreadJob.java:197) at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:92) at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:286) at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:118) at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:2283) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2340) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2327) at org.jboss.tools.common.model.ui.editors.dnd.DefaultDropCommand.execute(DefaultDropCommand.java:133) at org.jboss.tools.jst.jsp.jspeditor.dnd.PaletteDropCommand.execute(PaletteDropCommand.java:116) at org.jboss.tools.jst.web.ui.palette.html.wizard.AbstractNewHTMLWidgetWizard.performFinish(AbstractNewHTMLWidgetWizard.java:67) at org.jboss.tools.jst.web.ui.palette.html.jquery.wizard.NewJQueryWidgetWizard.performFinish(NewJQueryWidgetWizard.java:75) at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:827) at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:432) 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:1392) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363) at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.runEventLoop(EventLoopProgressMonitor.java:123) at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.isCanceled(EventLoopProgressMonitor.java:97) at org.eclipse.core.internal.jobs.ThreadJob.isCanceled(ThreadJob.java:144) at org.eclipse.core.internal.jobs.ThreadJob.waitForRun(ThreadJob.java:233) at org.eclipse.core.internal.jobs.ThreadJob.joinRun(ThreadJob.java:197) at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:92) at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:286) at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:118) at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:2283) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2340) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2327) at org.jboss.tools.common.model.ui.editors.dnd.DefaultDropCommand.execute(DefaultDropCommand.java:133) at org.jboss.tools.jst.jsp.jspeditor.dnd.PaletteDropCommand.execute(PaletteDropCommand.java:116) at org.jboss.tools.jst.web.ui.palette.html.wizard.AbstractNewHTMLWidgetWizard.performFinish(AbstractNewHTMLWidgetWizard.java:67) at org.jboss.tools.jst.web.ui.palette.html.jquery.wizard.NewJQueryWidgetWizard.performFinish(NewJQueryWidgetWizard.java:75) at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:827) at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:432) 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:1392) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363) at org.eclipse.jface.window.Window.runEventLoop(Window.java:826) at org.eclipse.jface.window.Window.open(Window.java:802) at org.jboss.tools.common.model.ui.editors.dnd.DefaultDropCommand.execute(DefaultDropCommand.java:110) at org.jboss.tools.jst.jsp.jspeditor.JSPTextEditor$3.run(JSPTextEditor.java:700) at org.jboss.tools.jst.jsp.jspeditor.JSPTextEditor.runDropCommand(JSPTextEditor.java:719) at org.jboss.tools.jst.jsp.jspeditor.JSPMultiPageEditor.runDropCommand(JSPMultiPageEditor.java:852) 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:601) at org.jboss.tools.common.model.ui.views.palette.PaletteCreator.dropIntoEditor(PaletteCreator.java:186) at org.jboss.tools.common.model.ui.views.palette.PaletteCreator.insertIntoEditor(PaletteCreator.java:140) at org.jboss.tools.jst.jsp.jspeditor.PalettePageImpl.insertIntoEditor(PalettePageImpl.java:100) at org.jboss.tools.jst.web.ui.palette.PaletteViewer.insertIntoEditor(PaletteViewer.java:72) at org.jboss.tools.jst.web.ui.palette.PaletteViewer.setActiveTool(PaletteViewer.java:67) at org.jboss.tools.jst.web.ui.palette.xpl.MobileToolEntryEditPart$2.actionPerformed(MobileToolEntryEditPart.java:393) at org.eclipse.draw2d.Clickable.fireActionPerformed(Clickable.java:206) at org.eclipse.draw2d.Clickable$1.actionPerformed(Clickable.java:175) at org.eclipse.draw2d.ButtonModel.fireActionPerformed(ButtonModel.java:140) at org.eclipse.draw2d.ToggleModel.fireActionPerformed(ToggleModel.java:27) at org.eclipse.draw2d.ButtonModel$DefaultFiringBehavior.released(ButtonModel.java:506) at org.eclipse.draw2d.ButtonModel.fireReleased(ButtonModel.java:179) at org.eclipse.draw2d.ButtonModel.setPressed(ButtonModel.java:466) at org.jboss.tools.jst.web.ui.palette.xpl.MobileToolEntryEditPart$GTKToggleButtonTracker.handleButtonUp(MobileToolEntryEditPart.java:142) at org.eclipse.gef.tools.AbstractTool.mouseUp(AbstractTool.java:1200) at org.eclipse.gef.tools.SelectionTool.mouseUp(SelectionTool.java:574) at org.eclipse.gef.EditDomain.mouseUp(EditDomain.java:301) at org.eclipse.gef.ui.parts.DomainEventDispatcher.dispatchMouseReleased(DomainEventDispatcher.java:380) at org.eclipse.draw2d.LightweightSystem$EventHandler.mouseUp(LightweightSystem.java:548) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:220) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1392) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1109) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:993) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:610) 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:601) 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) at org.eclipse.equinox.launcher.Main.main(Main.java:1426)
We should ignore or disable Finish button if it's already pressed.