diff options
Diffstat (limited to 'platform/platform-api/src/com/intellij/util/ui/AsyncProcessIcon.java')
-rw-r--r-- | platform/platform-api/src/com/intellij/util/ui/AsyncProcessIcon.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/platform/platform-api/src/com/intellij/util/ui/AsyncProcessIcon.java b/platform/platform-api/src/com/intellij/util/ui/AsyncProcessIcon.java index 3c3b42721b58..3d467232b3e3 100644 --- a/platform/platform-api/src/com/intellij/util/ui/AsyncProcessIcon.java +++ b/platform/platform-api/src/com/intellij/util/ui/AsyncProcessIcon.java @@ -71,7 +71,7 @@ public class AsyncProcessIcon extends AnimatedIcon { return icons; } - public void updateLocation(JComponent container) { + public void updateLocation(final JComponent container) { final Rectangle rec = container.getVisibleRect(); final Dimension iconSize = getPreferredSize(); @@ -79,7 +79,14 @@ public class AsyncProcessIcon extends AnimatedIcon { final Rectangle newBounds = new Rectangle(rec.x + rec.width - iconSize.width, rec.y, iconSize.width, iconSize.height); if (!newBounds.equals(getBounds())) { setBounds(newBounds); - container.repaint(); + // painting problems with scrollpane + // repaint shouldn't be called from paint method + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + container.repaint(); + } + }); } } |