Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Intercepterタブでもsendのショートカットが効いてしまう #41

Open
prprhyt opened this issue Oct 15, 2019 · 0 comments
Open
Labels
bug Something isn't working

Comments

@prprhyt
Copy link
Collaborator

prprhyt commented Oct 15, 2019

再現方法

macOS

  1. 予め適当なパケットをresenderに送る
  2. IntercepterをONにして適当なパケットを止める
  3. IntercepterタブのRawタブのテキスト領域にフォーカスする
  4. その状態でショートカットcommand+sを押す
  5. Historyタブに行くと余計に1つパケットが送信されている

原因

おそらく、RawTextPane.javaにあるショートカットが実行されてしまっている。
RawTextPane.javaは少なくともHistoryタブとIntercepterで使われている。
現状ではRawTextPaneからは呼び出し元を知る術がないので難しいが、
何らかの方法で呼び出し元がHistoryかそれ以外かが識別できれば対策できそうです。

send.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.META_MASK));
send.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
try {
JButton parentSend = getParentSend();
if (parentSend != null) {
parentSend.doClick();
} else {
Packet packet = GUIPacket.getInstance().getPacket();
ResendController.getInstance().resend(packet.getOneShotPacket(getData()));
packet.setSentData(getData());
packet.setResend();
Packets.getInstance().update(packet);
GUIHistory.getInstance().updateRequestOne(GUIHistory.getInstance().getSelectedPacketId());
}
} catch (Exception e1) {
e1.printStackTrace();
}
}
});

@prprhyt prprhyt added the bug Something isn't working label Oct 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant