directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul Richardson (JIRA)" <>
Subject [jira] [Updated] (DIRSTUDIO-1046) EntryEditorManager constructor can throw NPE
Date Tue, 26 May 2015 09:52:17 GMT


Paul Richardson updated DIRSTUDIO-1046:
    Attachment: replace-active-workbench-calls-in-EntryEditorManager.diff

Patch provided that removes possibility of ActiveWorkbenchWindow() returning a NPE.

Executor interface used to call impl on each window in the PlatformUI.getWorkbench().getWorkbenchWindows().

> EntryEditorManager constructor can throw NPE
> --------------------------------------------
>                 Key: DIRSTUDIO-1046
>                 URL:
>             Project: Directory Studio
>          Issue Type: Bug
>          Components: studio-ldapbrowser
>    Affects Versions: 2.0.0-M8 (2.0.0.v20130628)
>            Reporter: Paul Richardson
>         Attachments: replace-active-workbench-calls-in-EntryEditorManager.diff
> Using the BrowserWidget in a wizard rather than the BrowserView can result in a NullPointerException
being thrown.
> The BrowseWidget is embedded in a WizardPage so the
plugin has not necessarily been activated. However, during a refresh of the BrowserWidget's
tree view, a worker-runnable calls on resources of the ldapbrowser.ui plugin and it is activated.
> The activation of the ldapbrowser.ui plugin calls
> {code}
> entryEditorManager = new EntryEditorManager();
> {code}
> The constructor of the EntryEditorManager contains
> {code}
> PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService().addPartListener(
partListener );
> {code}
> This code only works if called from the UI thread. Otherwise, getActiveWorkbenchWindow()
returns null hence the NPE.
> Since a runnable is responsible for the plugin activation in this use-case then this
behaviour occurs.

This message was sent by Atlassian JIRA

View raw message