Skip to content

Commit b7fa592

Browse files
committed
Fix File->Open recent showing old files
1 parent 91ed127 commit b7fa592

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

src/core/src/main/java/org/apache/jmeter/gui/util/JMeterMenuBar.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
import javax.swing.MenuElement;
4040
import javax.swing.UIManager;
4141
import javax.swing.UIManager.LookAndFeelInfo;
42+
import javax.swing.event.MenuEvent;
43+
import javax.swing.event.MenuListener;
4244

4345
import org.apache.jmeter.gui.GuiPackage;
4446
import org.apache.jmeter.gui.action.ActionNames;
@@ -532,6 +534,30 @@ private void makeFileMenu() {
532534
fileLoadRecentFiles.forEach(jc -> recentFilesOpen.add(jc));
533535
recentFilesOpen.setEnabled(LoadRecentProject.hasVisibleMenuItem(fileLoadRecentFiles));
534536

537+
// Add menu listener to refresh recent files when menu is selected
538+
recentFilesOpen.addMenuListener(new MenuListener() {
539+
@Override
540+
public void menuSelected(MenuEvent e) {
541+
// Clear existing recent files from menu
542+
recentFilesOpen.removeAll();
543+
544+
// Reload recent files
545+
fileLoadRecentFiles = LoadRecentProject.getRecentFileMenuItems();
546+
fileLoadRecentFiles.forEach(jc -> recentFilesOpen.add(jc));
547+
recentFilesOpen.setEnabled(LoadRecentProject.hasVisibleMenuItem(fileLoadRecentFiles));
548+
}
549+
550+
@Override
551+
public void menuDeselected(MenuEvent e) {
552+
// Not needed
553+
}
554+
555+
@Override
556+
public void menuCanceled(MenuEvent e) {
557+
// Not needed
558+
}
559+
});
560+
535561
addPluginsMenuItems(fileMenu, menuCreators, MENU_LOCATION.FILE);
536562

537563
// When JMeter menu is integrated with macOS system menu, there's no need in extra "exit"

0 commit comments

Comments
 (0)