diff --git a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java index 3e0981185117..c431717a819a 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java +++ b/platform/lang-impl/src/com/intellij/ide/util/gotoByName/ChooseByNameBase.java @@ -25,6 +25,7 @@ import com.intellij.ide.IdeBundle; import com.intellij.ide.IdeEventQueue; import com.intellij.ide.actions.CopyReferenceAction; import com.intellij.ide.actions.GotoFileAction; +import com.intellij.ide.actions.WindowAction; import com.intellij.ide.ui.UISettings; import com.intellij.ide.ui.laf.darcula.ui.DarculaTextBorder; import com.intellij.ide.ui.laf.darcula.ui.DarculaTextFieldUI; @@ -62,6 +63,7 @@ import com.intellij.psi.statistics.StatisticsManager; import com.intellij.psi.util.PsiUtilCore; import com.intellij.ui.*; import com.intellij.ui.components.JBList; +import com.intellij.ui.popup.AbstractPopup; import com.intellij.ui.popup.PopupOwner; import com.intellij.ui.popup.PopupPositionManager; import com.intellij.ui.popup.PopupUpdateProcessor; @@ -887,6 +889,12 @@ public abstract class ChooseByNameBase { } }); myTextPopup.show(layeredPane); + if (myTextPopup instanceof AbstractPopup) { + Window window = ((AbstractPopup)myTextPopup).getPopupWindow(); + if (window instanceof JDialog) { + ((JDialog)window).getRootPane().putClientProperty(WindowAction.NO_WINDOW_ACTIONS, Boolean.TRUE); + } + } } private JLayeredPane getLayeredPane() { diff --git a/platform/vcs-api/src/com/intellij/openapi/vcs/versionBrowser/ChangeBrowserSettings.java b/platform/vcs-api/src/com/intellij/openapi/vcs/versionBrowser/ChangeBrowserSettings.java index 9a8dbf1f2035..cd2806d15eda 100644 --- a/platform/vcs-api/src/com/intellij/openapi/vcs/versionBrowser/ChangeBrowserSettings.java +++ b/platform/vcs-api/src/com/intellij/openapi/vcs/versionBrowser/ChangeBrowserSettings.java @@ -64,7 +64,7 @@ public class ChangeBrowserSettings implements JDOMExternalizable { @Nullable private static Date parseDate(@Nullable String dateStr) { - if (dateStr == null) return null; + if (dateStr == null || dateStr.isEmpty()) return null; try { return DATE_FORMAT.parse(dateStr); } diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/ThrowableResultOfMethodCallIgnoredInspection.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/ThrowableResultOfMethodCallIgnoredInspection.java index cbf33121dd44..080a6e58c409 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/ThrowableResultOfMethodCallIgnoredInspection.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/ThrowableResultOfMethodCallIgnoredInspection.java @@ -1,5 +1,5 @@ /* - * Copyright 2008-2011 Bas Leijdekkers + * Copyright 2008-2014 Bas Leijdekkers * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,6 +19,7 @@ import com.intellij.psi.*; import com.intellij.psi.search.searches.ReferencesSearch; import com.intellij.psi.util.InheritanceUtil; import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.util.PsiUtil; import com.intellij.util.Query; import com.siyeh.InspectionGadgetsBundle; import com.siyeh.ig.BaseInspection; @@ -57,11 +58,10 @@ public class ThrowableResultOfMethodCallIgnoredInspection extends BaseInspectionVisitor { @Override - public void visitMethodCallExpression( - PsiMethodCallExpression expression) { + public void visitMethodCallExpression(PsiMethodCallExpression expression) { super.visitMethodCallExpression(expression); PsiElement parent = expression.getParent(); - while (parent instanceof PsiParenthesizedExpression) { + while (parent instanceof PsiParenthesizedExpression || parent instanceof PsiTypeCastExpression) { parent = parent.getParent(); } if (parent instanceof PsiReturnStatement || diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/bugs/throwable_result_of_method_call_ignored/A.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/bugs/throwable_result_of_method_call_ignored/A.java index 488651f5481b..ee413b9cfe9e 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igtest/bugs/throwable_result_of_method_call_ignored/A.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/bugs/throwable_result_of_method_call_ignored/A.java @@ -5,7 +5,7 @@ package com.siyeh.igtest.bugs.throwable_result_of_method_call_ignored; public class A { public static void test() { try { - firstNonNull(new Throwable(), null); + firstNonNull(new Throwable(), null); } catch (Exception e) { throw new RuntimeException(firstNonNull(e.getCause(), e)); @@ -15,4 +15,12 @@ public class A { public static T firstNonNull(T first, T second) { return first != null ? first : second; } + + void m() { + throw (RuntimeException) b(); + } + + public Exception b() { + return new RuntimeException(); + } } diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/bugs/throwable_result_of_method_call_ignored/expected.xml b/plugins/InspectionGadgets/test/com/siyeh/igtest/bugs/throwable_result_of_method_call_ignored/expected.xml deleted file mode 100644 index a02d25eb9ecf..000000000000 --- a/plugins/InspectionGadgets/test/com/siyeh/igtest/bugs/throwable_result_of_method_call_ignored/expected.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - A.java - 8 - Throwable result of method call ignored - Result of <code>firstNonNull()</code> not thrown #loc - - \ No newline at end of file diff --git a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/bugs/ThrowableResultOfMethodCallIgnoredInspectionTest.java b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/bugs/ThrowableResultOfMethodCallIgnoredInspectionTest.java index 9f021f563e77..adeb8aeca497 100644 --- a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/bugs/ThrowableResultOfMethodCallIgnoredInspectionTest.java +++ b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/bugs/ThrowableResultOfMethodCallIgnoredInspectionTest.java @@ -1,12 +1,17 @@ package com.siyeh.ig.bugs; +import com.intellij.codeInspection.InspectionProfileEntry; import com.siyeh.ig.IGInspectionTestCase; +import com.siyeh.ig.LightInspectionTestCase; -public class ThrowableResultOfMethodCallIgnoredInspectionTest - extends IGInspectionTestCase { +public class ThrowableResultOfMethodCallIgnoredInspectionTest extends LightInspectionTestCase { - public void test() throws Exception { - doTest("com/siyeh/igtest/bugs/throwable_result_of_method_call_ignored", - new ThrowableResultOfMethodCallIgnoredInspection()); + public void testA() throws Exception { + doTest(); + } + + @Override + protected InspectionProfileEntry getInspection() { + return new ThrowableResultOfMethodCallIgnoredInspection(); } }