-
Notifications
You must be signed in to change notification settings - Fork 43
Open
Labels
bugSomething isn't workingSomething isn't working
Description
再現方法
macOS
- 予め適当なパケットをresenderに送る
- IntercepterをONにして適当なパケットを止める
- IntercepterタブのRawタブのテキスト領域にフォーカスする
- その状態でショートカットcommand+sを押す
- Historyタブに行くと余計に1つパケットが送信されている
原因
おそらく、RawTextPane.javaにあるショートカットが実行されてしまっている。
RawTextPane.javaは少なくともHistoryタブとIntercepterで使われている。
現状ではRawTextPaneからは呼び出し元を知る術がないので難しいが、
何らかの方法で呼び出し元がHistoryかそれ以外かが識別できれば対策できそうです。
PacketProxy/src/main/java/core/packetproxy/gui/RawTextPane.java
Lines 52 to 71 in 0b7b30d
| 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(); | |
| } | |
| } | |
| }); |
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working