CRESS-Surrey / eXtraWidgets

An extension for creating additional interface tabs in the NetLogo GUI and putting custom widgets on them.
MIT License
13 stars 4 forks source link

Exception when calling `xw:remove` on a tab (Mac only) #143

Closed nicolaspayette closed 9 years ago

nicolaspayette commented 9 years ago

Works on Windows and Linux.

java.security.PrivilegedActionException: uk.ac.surrey.xw.api.XWException: Tab comms not in application tabs.
 at java.security.AccessController.doPrivileged(Native Method)
 at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
 at java.awt.EventQueue.dispatchEvent(EventQueue.java:685)
 at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
 at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
 at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: uk.ac.surrey.xw.api.XWException: Tab comms not in application tabs.
 at uk.ac.surrey.xw.api.Tab$$anonfun$index$2.apply(Tab.scala:70)
 at uk.ac.surrey.xw.api.Tab$$anonfun$index$2.apply(Tab.scala:70)
 at scala.Option.getOrElse(Option.scala:108)
 at uk.ac.surrey.xw.api.Tab.index(Tab.scala:70)
 at uk.ac.surrey.xw.api.Tab.removeFromAppTabs(Tab.scala:102)
 at uk.ac.surrey.xw.gui.GUI$$anonfun$uk$ac$surrey$xw$gui$GUI$$removeWidget$1.apply(GUI.scala:78)
 at uk.ac.surrey.xw.gui.GUI$$anonfun$uk$ac$surrey$xw$gui$GUI$$removeWidget$1.apply(GUI.scala:77)
 at scala.Option.foreach(Option.scala:197)
 at uk.ac.surrey.xw.gui.GUI.uk$ac$surrey$xw$gui$GUI$$removeWidget(GUI.scala:77)
 at uk.ac.surrey.xw.gui.GUI$$anonfun$notify$3.apply$mcV$sp(GUI.scala:48)
 at uk.ac.surrey.xw.gui.GUI$$anonfun$notify$3.apply(GUI.scala:48)
 at uk.ac.surrey.xw.gui.GUI$$anonfun$notify$3.apply(GUI.scala:48)
 at uk.ac.surrey.xw.api.package$$anon$1.run(package.scala:28)
 at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
 at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:715)
 at java.awt.EventQueue.access$400(EventQueue.java:82)
 at java.awt.EventQueue$2.run(EventQueue.java:676)
 at java.awt.EventQueue$2.run(EventQueue.java:674)
 ... 9 more

NetLogo 5.1.0
main: org.nlogo.app.AppFrame
thread: AWT-EventQueue-0
Java HotSpot(TM) 64-Bit Server VM 1.6.0_65 (Apple Inc.; 1.6.0_65-b14-466.1-11M4716)
operating system: Mac OS X 10.10.1 (x86_64 processor)
Scala version 2.9.2
JOGL: (3D View not initialized)
OpenGL Graphics: (3D View not initialized)
model: TELL ME model

11:46:16.521 AddJobEvent (org.nlogo.window.ButtonWidget) AWT-EventQueue-0
11:46:16.512 RemoveJobEvent (org.nlogo.window.MonitorWidget) AWT-EventQueue-0
11:46:16.512 RuntimeErrorEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
11:46:16.512 RemoveJobEvent (org.nlogo.window.MonitorWidget) AWT-EventQueue-0
11:46:16.512 RuntimeErrorEvent (org.nlogo.app.App$$anon$1 (org.nlogo.window.GUIWorkspace)) AWT-EventQueue-0
11:46:16.512 InterfaceGlobalEvent (org.nlogo.app.InterfacePanel$2 (org.nlogo.window.SliderWidget)) AWT-EventQueue-0
11:46:16.512 InterfaceGlobalEvent (org.nlogo.app.InterfacePanel$2 (org.nlogo.window.SliderWidget)) AWT-EventQueue-0
11:46:16.512 InterfaceGlobalEvent (org.nlogo.app.InterfacePanel$2 (org.nlogo.window.SliderWidget)) AWT-EventQueue-0
11:46:16.512 InterfaceGlobalEvent (org.nlogo.app.InterfacePanel$2 (org.nlogo.window.SliderWidget)) AWT-EventQueue-0
11:46:16.512 InterfaceGlobalEvent (org.nlogo.app.InterfacePanel$2 (org.nlogo.window.SliderWidget)) AWT-EventQueue-0
nicolaspayette commented 9 years ago

@jbadham adds:

It pops up an error message but actually does the remove and replace.

qiemem commented 9 years ago

This also happens xw:clear-all.