diff --git a/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/explorer/ExplorerPlugin.java b/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/explorer/ExplorerPlugin.java index b12ff860..395a7485 100644 --- a/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/explorer/ExplorerPlugin.java +++ b/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/explorer/ExplorerPlugin.java @@ -90,7 +90,9 @@ public class ExplorerPlugin implements IPlugIn { @Override public boolean dispatchKeyEvent(KeyEvent e) { - if (e.getKeyChar() == 'x' && e.getModifiersEx() == 0 + if (explorerPane != null + && (canvasPanel.hasFocus() || explorerPane.hasFocus()) + && e.getKeyChar() == 'x' && e.getModifiersEx() == 0 && ConfigurationManager.getInstance() .readBoolean(ConfigPlugin.PROJECT_EXPLORER, true)) { explorerPane.getSearchField().requestFocusInWindow(); diff --git a/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/tree/ComponentTree.java b/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/tree/ComponentTree.java index af6363d6..7b1224d2 100644 --- a/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/tree/ComponentTree.java +++ b/diylc/diylc-swing/src/main/java/org/diylc/swing/plugins/tree/ComponentTree.java @@ -80,12 +80,13 @@ public class ComponentTree implements IPlugIn { @Override public boolean dispatchKeyEvent(KeyEvent e) { - if ((canvasPanel.hasFocus() || treePanel.hasFocus()) - && e.getKeyChar() == 'q' + if (treePanel != null + && (canvasPanel.hasFocus() || treePanel.hasFocus()) + && e.getKeyChar() == 'q' && e.getModifiersEx() == 0 && ConfigurationManager.getInstance() .readString(ConfigPlugin.COMPONENT_BROWSER, ConfigPlugin.SEARCHABLE_TREE) .equals(ConfigPlugin.SEARCHABLE_TREE)) { - getTreePanel().getSearchField().requestFocusInWindow(); + treePanel.getSearchField().requestFocusInWindow(); return true; } return false;