diff --git a/launcher/src/main/java/com/skcraft/launcher/dialog/LauncherFrame.java b/launcher/src/main/java/com/skcraft/launcher/dialog/LauncherFrame.java index 79f287d..75ed9a0 100644 --- a/launcher/src/main/java/com/skcraft/launcher/dialog/LauncherFrame.java +++ b/launcher/src/main/java/com/skcraft/launcher/dialog/LauncherFrame.java @@ -154,9 +154,14 @@ public class LauncherFrame extends JFrame { @Override protected void showPopup(MouseEvent e) { //noinspection unchecked - Instance selected = ((JList) e.getSource()).getSelectedValue(); - if (selected != null) { + JList list = ((JList) e.getSource()); + int index = list.locationToIndex(new Point(e.getX(), e.getY())); + if (index >= 0) { + list.setSelectedIndex(list.locationToIndex(new Point(e.getX(), e.getY()))); + Instance selected = list.getSelectedValue(); popupInstanceMenu(e.getComponent(), e.getX(), e.getY(), selected); + } else { + list.setSelectedValue(null, false); } } });