From cd0aad8fe5758528342dab9d032f9317c18917ba Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Tue, 14 Aug 2012 14:39:03 +0400 Subject: [PATCH] IDEA-82744 Bookmarks: NPE at BookmarksAction$EditBookmarkDescriptionAction.actionPerformed() after clicking in the popup with opened description dialog --- .../src/com/intellij/ui/popup/util/ItemWrapper.java | 2 ++ .../ide/bookmarks/actions/BookmarksAction.java | 10 ++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/platform/lang-api/src/com/intellij/ui/popup/util/ItemWrapper.java b/platform/lang-api/src/com/intellij/ui/popup/util/ItemWrapper.java index 5852d175a7d8..c589d179bb5f 100644 --- a/platform/lang-api/src/com/intellij/ui/popup/util/ItemWrapper.java +++ b/platform/lang-api/src/com/intellij/ui/popup/util/ItemWrapper.java @@ -35,6 +35,8 @@ public abstract class ItemWrapper { public abstract String footerText(); public void updateDetailView(DetailView panel) { + if (panel == null) return; + if (equals(panel.getCurrentItem())) { return; } diff --git a/platform/lang-impl/src/com/intellij/ide/bookmarks/actions/BookmarksAction.java b/platform/lang-impl/src/com/intellij/ide/bookmarks/actions/BookmarksAction.java index ad17b92a5a15..26e6b17106af 100644 --- a/platform/lang-impl/src/com/intellij/ide/bookmarks/actions/BookmarksAction.java +++ b/platform/lang-impl/src/com/intellij/ide/bookmarks/actions/BookmarksAction.java @@ -33,6 +33,7 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.wm.IdeFocusManager; import com.intellij.openapi.wm.ToolWindowManager; import com.intellij.ui.components.JBList; +import com.intellij.ui.popup.util.DetailViewImpl; import com.intellij.ui.popup.util.ItemWrapper; import com.intellij.ui.popup.util.MasterDetailPopupBuilder; import com.intellij.ui.speedSearch.FilteringListModel; @@ -77,10 +78,11 @@ public class BookmarksAction extends AnAction implements DumbAware, MasterDetail actions.add(new MoveBookmarkUpAction(project, list)); actions.add(new MoveBookmarkDownAction(project, list)); - myPopup = new MasterDetailPopupBuilder(project). - setActionsGroup(actions). - setList(list). - setDelegate(this).createMasterDetailPopup(); + myPopup = new MasterDetailPopupBuilder(project) + .setActionsGroup(actions) + .setList(list) + .setDetailView(new DetailViewImpl(project)) + .setDelegate(this).createMasterDetailPopup(); editDescriptionAction.setPopup(myPopup); myPopup.showCenteredInCurrentWindow(project);