summaryrefslogtreecommitdiff
path: root/platform/platform-api/src/com/intellij/util/ui/AsyncProcessIcon.java
diff options
context:
space:
mode:
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.java11
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();
+ }
+ });
}
}