Community
Participate
Working Groups
In the dispose() method of my application, I incorrectly closed the current Display. This caused the Workbench event loop to keep going forever, as it would keep getting an exception and then continue because the runEventLoop field was never turned off. This is different from how 3.3.1 used to work. Attached is a patch to fix the problem which has been tested to properly show the exception and terminate.
Created attachment 88846 [details] Patch for I20071213-1500
As this is right in the Workbench code I would like a second opinion. I am concerned that this is not enough as the Display can throw three potential issues ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver ERROR_DEVICE_DISPOSED - if the receiver has been disposed ERROR_FAILED_EXEC Although I think the first and third should not stop us. I think the patch is OK in principle but I would like Boris' opinion.
Looks good. Francis, I cc'ed you on a bug in the same area that I think is important for RCP apps. (Just in case you are interested in contributing some more...) ;-)
Patch Patch released for build >20080212
Verified in I20080325-0100