From 9fb34d1f31256ed47658670c39fe2a6b69228832 Mon Sep 17 00:00:00 2001 From: peterz Date: Wed, 23 Sep 2009 21:14:53 +0400 Subject: [PATCH] 6857888: closed/javax/swing/JMenuItem/6458123/bug6458123.java fails with InvocationTargetException. Reviewed-by: alexp --- src/share/classes/javax/swing/plaf/nimbus/skin.laf | 4 +++- .../javax/swing/plaf/synth/SynthGraphicsUtils.java | 14 +++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/share/classes/javax/swing/plaf/nimbus/skin.laf b/src/share/classes/javax/swing/plaf/nimbus/skin.laf index b44da311e..15532781c 100644 --- a/src/share/classes/javax/swing/plaf/nimbus/skin.laf +++ b/src/share/classes/javax/swing/plaf/nimbus/skin.laf @@ -14824,7 +14824,9 @@ false NO_CACHING - + + + diff --git a/src/share/classes/javax/swing/plaf/synth/SynthGraphicsUtils.java b/src/share/classes/javax/swing/plaf/synth/SynthGraphicsUtils.java index a8ec7728a..c775a4b18 100644 --- a/src/share/classes/javax/swing/plaf/synth/SynthGraphicsUtils.java +++ b/src/share/classes/javax/swing/plaf/synth/SynthGraphicsUtils.java @@ -475,11 +475,11 @@ public class SynthGraphicsUtils { return result; } - static void applyInsets(Rectangle rect, Insets insets) { + static void applyInsets(Rectangle rect, Insets insets, boolean leftToRight) { if (insets != null) { - rect.x += insets.left; + rect.x += (leftToRight ? insets.left : insets.right); rect.y += insets.top; - rect.width -= (insets.right + rect.x); + rect.width -= (leftToRight ? insets.right : insets.left) + rect.x; rect.height -= (insets.bottom + rect.y); } } @@ -492,12 +492,12 @@ public class SynthGraphicsUtils { g.setFont(style.getFont(context)); Rectangle viewRect = new Rectangle(0, 0, mi.getWidth(), mi.getHeight()); - applyInsets(viewRect, mi.getInsets()); + boolean leftToRight = SynthLookAndFeel.isLeftToRight(mi); + applyInsets(viewRect, mi.getInsets(), leftToRight); SynthMenuItemLayoutHelper lh = new SynthMenuItemLayoutHelper( - context, accContext, mi, checkIcon, - arrowIcon, viewRect, defaultTextIconGap, acceleratorDelimiter, - SynthLookAndFeel.isLeftToRight(mi), + context, accContext, mi, checkIcon, arrowIcon, viewRect, + defaultTextIconGap, acceleratorDelimiter, leftToRight, MenuItemLayoutHelper.useCheckAndArrow(mi), propertyPrefix); MenuItemLayoutHelper.LayoutResult lr = lh.layoutMenuItem(); -- GitLab