diff --git a/src/share/classes/javax/swing/plaf/nimbus/skin.laf b/src/share/classes/javax/swing/plaf/nimbus/skin.laf
index b44da311e2bd1f20807f06724db891538b20eed4..15532781cf22f2360d81511a71a5842048f366c9 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 a8ec7728a6421134687caf0a109b19da3ce7e714..c775a4b18b91d9e6444d070cfbe5b5c836b1542b 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();