move internal diff-related stuff calculation not belonging to document event off...
[idea/community.git] / platform / platform-impl / src / com / intellij / internal / inspector / UiInspectorAction.java
index 1c5a1e6d412dabea7f7b1186fb6706d6686b7006..45f11f82f9d67b4d878c3970211aec78b4639b4b 100644 (file)
@@ -24,6 +24,7 @@ import com.intellij.openapi.actionSystem.impl.ActionButton;
 import com.intellij.openapi.actionSystem.impl.ActionMenu;
 import com.intellij.openapi.actionSystem.impl.ActionMenuItem;
 import com.intellij.openapi.actionSystem.impl.ActionToolbarImpl;
+import com.intellij.openapi.application.ApplicationManager;
 import com.intellij.openapi.editor.ex.EditorGutterComponentEx;
 import com.intellij.openapi.extensions.PluginId;
 import com.intellij.openapi.keymap.Keymap;
@@ -82,10 +83,7 @@ import javax.swing.tree.*;
 import java.awt.*;
 import java.awt.event.*;
 import java.awt.font.TextAttribute;
-import java.lang.reflect.Array;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
+import java.lang.reflect.*;
 import java.util.List;
 import java.util.Vector;
 import java.util.*;
@@ -130,6 +128,9 @@ public class UiInspectorAction extends DumbAwareAction implements LightEditCompa
         }
       }
     }, AWTEvent.MOUSE_EVENT_MASK);
+    if (Boolean.getBoolean("idea.ui.debug.mode") || Boolean.getBoolean("idea.ui.inspector")) {
+      ApplicationManager.getApplication().invokeLater(() -> new UiInspector(null));
+    }
   }
 
   private void updateMouseShortcuts() {
@@ -147,7 +148,7 @@ public class UiInspectorAction extends DumbAwareAction implements LightEditCompa
   @Override
   public void actionPerformed(@NotNull AnActionEvent e) {
     InputEvent event = e.getInputEvent();
-    event.consume();
+    if (event != null) event.consume();
     Component component = e.getData(PlatformDataKeys.CONTEXT_COMPONENT);
 
     Project project = e.getProject();
@@ -625,7 +626,7 @@ public class UiInspectorAction extends DumbAwareAction implements LightEditCompa
             return Pair.create(entry.getValue(), field.getName());
           }
         }
-        catch (IllegalAccessException e) {
+        catch (IllegalAccessException | InaccessibleObjectException e) {
           //skip
         }
       }