Bonjour,

Je suis nouveau à SWT mais mon problème reste sans solution depuis quelques temps malgré de nombreuses recherches:

Sous GNU/Linux, impossible d'instancier deux objets Display.
Mon application crée un thread qui gère ma GUI. Ce thread crée un display, et lance à son tour deux threads de GUI avec en paramètre ce display.

Chacun des threads de GUI crée un Shell avec le display.
Je voudrais donc avoir deux fenêtres indépendantes.

mon problème: quand je ferme une des fenêtres mon application est figée, et les exceptions suivantes sont levées:

Exception in thread "main" org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed))
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Unknown Source)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at net.trevize.galate.Galate.main(Galate.java:209)
Caused by: org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Unknown Source)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at net.trevize.galate.Galate.init(Galate.java:146)
at net.trevize.galate.Galate$1GalateThread.run(Galate.java:186)
at org.eclipse.swt.widgets.RunnableLock.run(Unknown Source)
... 4 more
Caused by: org.eclipse.swt.SWTException: Widget is disposed
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.widgets.Widget.error(Unknown Source)
at org.eclipse.swt.widgets.Widget.getDisplay(Unknown Source)
at net.trevize.galate.ImageLoaderPoolThread$ImageUpdaterThread.run(ImageLoaderPoolThread.java:38)
at org.eclipse.swt.widgets.RunnableLock.run(Unknown Source)
... 10 more
Y aurait-il quelque chose que je n'ai vraiment pas compris dans SWT ?
Merci beaucoup si vous avez une idée !