summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gui/GraphBox.cpp6
-rw-r--r--src/gui/GraphWindow.cpp4
2 files changed, 9 insertions, 1 deletions
diff --git a/src/gui/GraphBox.cpp b/src/gui/GraphBox.cpp
index f8495d46..d2387d24 100644
--- a/src/gui/GraphBox.cpp
+++ b/src/gui/GraphBox.cpp
@@ -671,7 +671,11 @@ void
GraphBox::event_close()
{
if (_window) {
- _app->window_factory()->remove_graph_window(_window);
+ if (_app->window_factory()->num_open_graph_windows() == 1) {
+ _app->quit(_window);
+ } else {
+ _app->window_factory()->remove_graph_window(_window);
+ }
}
}
diff --git a/src/gui/GraphWindow.cpp b/src/gui/GraphWindow.cpp
index 0767f76d..99861534 100644
--- a/src/gui/GraphWindow.cpp
+++ b/src/gui/GraphWindow.cpp
@@ -70,6 +70,10 @@ GraphWindow::on_hide()
{
_position_stored = true;
get_position(_x, _y);
+ if (_app->window_factory()->num_open_graph_windows() == 1 &&
+ _app->quit(this)) {
+ return;
+ }
Gtk::Window::on_hide();
}