From 43ea5daaf6d0f2b0b64a18bd5b86bf30382d2220 Mon Sep 17 00:00:00 2001 From: Evgeny Zakrevsky Date: Thu, 10 Nov 2011 20:28:41 +0300 Subject: [PATCH] IDEA-76618 NPE at com.intellij.xml.breadcrumbs.BreadcrumbsComponent.getPreferredSize --- platform/util/src/com/intellij/openapi/ui/Splitter.java | 4 ++-- .../com/intellij/xml/breadcrumbs/BreadcrumbsComponent.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/platform/util/src/com/intellij/openapi/ui/Splitter.java b/platform/util/src/com/intellij/openapi/ui/Splitter.java index 779a26967860..cc3e1be97341 100644 --- a/platform/util/src/com/intellij/openapi/ui/Splitter.java +++ b/platform/util/src/com/intellij/openapi/ui/Splitter.java @@ -537,13 +537,13 @@ public class Splitter extends JPanel { float proportion; if (getOrientation()) { if (getHeight() > 0) { - proportion = Math.min(1.0f, Math.max(getMinProportion(myFirstComponent), (float)myPoint.y / (float)Splitter.this.getHeight())); + proportion = Math.min(1.0f, Math.max(.0f, Math.min(Math.max(getMinProportion(myFirstComponent), (float)myPoint.y / (float)Splitter.this.getHeight()), 1 - getMinProportion(mySecondComponent)))); setProportion(proportion); } } else { if (getWidth() > 0) { - proportion = Math.min(1.0f, Math.max(getMinProportion(myFirstComponent), (float)myPoint.x / (float)Splitter.this.getWidth())); + proportion = Math.min(1.0f, Math.max(.0f, Math.min(Math.max(getMinProportion(myFirstComponent), (float)myPoint.x / (float)Splitter.this.getWidth()), 1 - getMinProportion(mySecondComponent)))); setProportion(proportion); } } diff --git a/xml/openapi/src/com/intellij/xml/breadcrumbs/BreadcrumbsComponent.java b/xml/openapi/src/com/intellij/xml/breadcrumbs/BreadcrumbsComponent.java index 368240094cf9..ae38a4c34b79 100644 --- a/xml/openapi/src/com/intellij/xml/breadcrumbs/BreadcrumbsComponent.java +++ b/xml/openapi/src/com/intellij/xml/breadcrumbs/BreadcrumbsComponent.java @@ -324,7 +324,7 @@ public class BreadcrumbsComponent extends JComponent public Dimension getPreferredSize() { final Graphics2D g2 = (Graphics2D)getGraphics(); - return new Dimension(Integer.MAX_VALUE, DEFAULT_PAINTER.getSize("DUMMY", g2.getFontMetrics(), Integer.MAX_VALUE).height + 1); + return new Dimension(Integer.MAX_VALUE, g2 != null ? DEFAULT_PAINTER.getSize("DUMMY", g2.getFontMetrics(), Integer.MAX_VALUE).height + 1 : 1); } public Dimension getMaximumSize() {