Uploaded image for project: 'Tools (JBoss Tools)'
  1. Tools (JBoss Tools)
  2. JBIDE-14766

JQM Palette: SWTException is thrown if you press Finish button a few times

XMLWordPrintable

      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.

            scabanovich Viacheslav Kabanovich (Inactive)
            alexeykazakov Alexey Kazakov
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: