Community
Participate
Working Groups
At the moment, we ask the StatusReporter to notify the user of exceptions or the logger to log them when the rendering engine is up. However, if an exception occurs during said action (notification/logging), then the entire event loop is killed. We need to protect the code block in order to prevent problematic code from bringing down the workbench (see bug 331784).
Created attachment 184493 [details] PartRenderingEngine patch v1 Eric, please take a look.
Patch released to CVS HEAD.
Created attachment 184507 [details] Patch that also safes up setting focus as well as widget disposal We have to trap exceptions that occur on the widget disposal in SWTPartRenderer#disposeWidget. Without this we don't proceed with the 'uninject' of the contribution or the disposal of its context. While not as serious this also traps and reports and error if an attempt to set the focus to a CompatibilityPart throws an exception.
I added a test to PartRenderingEngineTests to check that a bad DisposeListener won't prevent the @PreDestroy from being called.