diff --git a/src/main/java/org/jabref/gui/JabRefFrame.java b/src/main/java/org/jabref/gui/JabRefFrame.java index ff496a25e09..1cf05c35116 100644 --- a/src/main/java/org/jabref/gui/JabRefFrame.java +++ b/src/main/java/org/jabref/gui/JabRefFrame.java @@ -1154,6 +1154,10 @@ public void addTab(BasePanel basePanel, boolean raisePanel) { // add tab Tab newTab = new Tab(basePanel.getTabTitle(), basePanel); tabbedPane.getTabs().add(newTab); + newTab.setOnCloseRequest(event -> { + closeTab((BasePanel) newTab.getContent()); + event.consume(); + }); // update all tab titles updateAllTabTitles(); @@ -1340,6 +1344,8 @@ private void closeTab(BasePanel panel) { if (panel.isModified() && (context.getLocation() == DatabaseLocation.LOCAL)) { if (confirmClose(panel)) { removeTab(panel); + } else { + return; } } else if (context.getLocation() == DatabaseLocation.SHARED) { context.convertToLocalDatabase();