|
@@ -33,7 +33,6 @@ import com.dmdirc.interfaces.actions.ActionType;
|
33
|
33
|
import com.dmdirc.logger.ErrorLevel;
|
34
|
34
|
import com.dmdirc.logger.Logger;
|
35
|
35
|
|
36
|
|
-import java.awt.Toolkit;
|
37
|
36
|
import java.awt.event.ActionEvent;
|
38
|
37
|
import java.lang.reflect.Field;
|
39
|
38
|
import java.lang.reflect.InvocationHandler;
|
|
@@ -218,8 +217,8 @@ public final class Apple implements InvocationHandler, ActionListener {
|
218
|
217
|
* @return true if we are using the OS X look and feel
|
219
|
218
|
*/
|
220
|
219
|
public static boolean isAppleUI() {
|
221
|
|
- return isApple() && UIManager.getLookAndFeel().getClass().getName().
|
222
|
|
- equals("apple.laf.AquaLookAndFeel");
|
|
220
|
+ final String name = UIManager.getLookAndFeel().getClass().getName();
|
|
221
|
+ return isApple() && (name.equals("apple.laf.AquaLookAndFeel") || name.equals("com.apple.laf.AquaLookAndFeel"));
|
223
|
222
|
}
|
224
|
223
|
|
225
|
224
|
/**
|
|
@@ -395,12 +394,16 @@ public final class Apple implements InvocationHandler, ActionListener {
|
395
|
394
|
if (!isApple() || menuBar == null) {
|
396
|
395
|
return;
|
397
|
396
|
}
|
398
|
|
- event.setHandled(true);
|
399
|
397
|
final ActionEvent actionEvent = new ActionEvent(this,
|
400
|
398
|
ActionEvent.ACTION_PERFORMED, name);
|
401
|
399
|
|
402
|
|
- Toolkit.getDefaultToolkit().getSystemEventQueue()
|
403
|
|
- .postEvent(actionEvent);
|
|
400
|
+ for (int i = 0; i < menuBar.getMenuCount(); i++) {
|
|
401
|
+ final JMenu menu = menuBar.getMenu(i);
|
|
402
|
+ if (menu instanceof java.awt.event.ActionListener) {
|
|
403
|
+ ((java.awt.event.ActionListener)menu).actionPerformed(actionEvent);
|
|
404
|
+ event.setHandled(true);
|
|
405
|
+ }
|
|
406
|
+ }
|
404
|
407
|
}
|
405
|
408
|
|
406
|
409
|
/**
|