SWTError: No more handles
adangel opened this issue · 0 comments
adangel commented
The plugin registers a resource change listener and tries to update the ViolationOverview view.
While refreshing the view, always a new context menu is created, eventually leading to "no more handles":
Caused by: org.eclipse.swt.SWTError: No more handles
at org.eclipse.swt.SWT.error(SWT.java:4559)
at org.eclipse.swt.SWT.error(SWT.java:4448)
at org.eclipse.swt.SWT.error(SWT.java:4419)
at org.eclipse.swt.widgets.Widget.error(Widget.java:482)
at org.eclipse.swt.widgets.Menu.createHandle(Menu.java:466)
at org.eclipse.swt.widgets.Menu.createWidget(Menu.java:554)
at org.eclipse.swt.widgets.Menu.<init>(Menu.java:226)
at org.eclipse.swt.widgets.Menu.<init>(Menu.java:148)
at org.eclipse.swt.widgets.Menu.<init>(Menu.java:107)
at org.eclipse.jface.action.MenuManager.createContextMenu(MenuManager.java:184)
at net.sourceforge.pmd.eclipse.ui.views.ViolationOverviewMenuManager.createContextMenu(ViolationOverviewMenuManager.java:159)
at net.sourceforge.pmd.eclipse.ui.views.ViolationOverview.refreshMenu(ViolationOverview.java:452)
at net.sourceforge.pmd.eclipse.ui.views.ViolationOverview.refresh(ViolationOverview.java:445)
at net.sourceforge.pmd.eclipse.ui.views.ViolationOverviewContentProvider.updateViewer(ViolationOverviewContentProvider.java:570)
at net.sourceforge.pmd.eclipse.ui.views.ViolationOverviewContentProvider$1.run(ViolationOverviewContentProvider.java:341)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4889)
at net.sourceforge.pmd.eclipse.ui.views.ViolationOverviewContentProvider.resourceChanged(ViolationOverviewContentProvider.java:339)
at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:299)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:289)
at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:152)
at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:374)
at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1469)
at org.eclipse.core.internal.resources.Marker.setAttribute(Marker.java:271)