mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-346403 actions: fix AnAction invocation on mouse click for components under an active LoadingDecorator
BranchesTree in VCS Log is using 'ProgressStripe' with 'LoadingDecorator' to display progress bar. It transforms into a 'LoadingDecoratorLayeredPane' being used to draw this progress bar. 'SwingUtilities.getDeepestComponentAt' navigates into 'LoadingDecorator.LoadingLayer' of this layered pane when asked about the target component. This makes global Mouse AnAction inaccessible if they depend on the DataContext of the component located inside the loading decorator. Fix the issue by using 'UIUtil.getDeepestComponentAt' that explicitly handles the 'LoadingDecorator' case. GitOrigin-RevId: 132beab6d734323e0f342c38ad828f9cc96a5765
This commit is contained in:
committed by
intellij-monorepo-bot
parent
f9304ac9dd
commit
d62585ca77
+1
-1
@@ -218,7 +218,7 @@ public final class IdeMouseEventDispatcher {
|
||||
if (c == null) {
|
||||
throw new IllegalStateException("component cannot be null");
|
||||
}
|
||||
c = SwingUtilities.getDeepestComponentAt(c, e.getX(), e.getY());
|
||||
c = UIUtil.getDeepestComponentAt(c, e.getX(), e.getY());
|
||||
|
||||
if (c instanceof IdeGlassPaneImpl) {
|
||||
c = ((IdeGlassPaneImpl)c).getTargetComponentFor(e);
|
||||
|
||||
Reference in New Issue
Block a user