From bfd9f915a9704ccb5db4ba2798b50cebf0775dfe Mon Sep 17 00:00:00 2001 From: "Vassiliy.Kudryashov" Date: Fri, 22 Jul 2016 20:49:59 +0300 Subject: [PATCH] IDEA-156735 Bookmarks causing typing slowness (check dispatch thread) --- .../src/com/intellij/ide/bookmarks/BookmarkManager.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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);