diff --git a/platform/lang-impl/src/com/intellij/ide/bookmarks/BookmarkManager.java b/platform/lang-impl/src/com/intellij/ide/bookmarks/BookmarkManager.java index 63d9c6a9a173..e2b7d93b7bc1 100644 --- a/platform/lang-impl/src/com/intellij/ide/bookmarks/BookmarkManager.java +++ b/platform/lang-impl/src/com/intellij/ide/bookmarks/BookmarkManager.java @@ -19,6 +19,7 @@ package com.intellij.ide.bookmarks; import com.intellij.ide.IdeBundle; import com.intellij.ide.ui.UISettings; import com.intellij.ide.ui.UISettingsListener; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.components.*; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.Editor; @@ -126,16 +127,17 @@ public class BookmarkManager extends AbstractProjectComponent implements Persist private static void map(Document document, Bookmark bookmark) { if (document == null || bookmark == null) return; - + ApplicationManager.getApplication().assertIsDispatchThread(); List list = document.getUserData(BOOKMARKS_KEY); if (list == null) { - document.putUserData(BOOKMARKS_KEY, list = Collections.synchronizedList(new ArrayList())); + document.putUserData(BOOKMARKS_KEY, list = new ArrayList()); } list.add(bookmark); } private static void unmap(Document document, Bookmark bookmark) { if (document == null || bookmark == null) return; + ApplicationManager.getApplication().assertIsDispatchThread(); List list = document.getUserData(BOOKMARKS_KEY); if (list != null && list.remove(bookmark) && list.isEmpty()) { document.putUserData(BOOKMARKS_KEY, null);