aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.me.uk>2019-05-01 15:54:29 +0200
committerThomas White <taw@bitwiz.me.uk>2019-05-01 15:54:29 +0200
commit790b6dee8468ded9b795cba008db66916217018b (patch)
treeb4c2bab330f48fc2de606a86c2a03a8e37fa5e10
parent62dba2de99eff687a74c328b485f70802e8d5bfa (diff)
Close slide windows when closing narrative
-rw-r--r--src/narrative_window.c3
-rw-r--r--src/slide_window.c6
-rw-r--r--src/slide_window.h2
3 files changed, 11 insertions, 0 deletions
diff --git a/src/narrative_window.c b/src/narrative_window.c
index cd67706..5080382 100644
--- a/src/narrative_window.c
+++ b/src/narrative_window.c
@@ -506,6 +506,9 @@ static void scroll_down(NarrativeWindow *nw)
static gboolean nw_destroy_sig(GtkWidget *da, NarrativeWindow *nw)
{
if ( nw->pr_clock != NULL ) pr_clock_destroy(nw->pr_clock);
+ while ( nw->n_slidewindows > 0 ) {
+ slide_window_destroy(nw->slidewindows[nw->n_slidewindows-1]);
+ }
g_application_release(nw->app);
return FALSE;
}
diff --git a/src/slide_window.c b/src/slide_window.c
index 5bf9f52..8bfd8b3 100644
--- a/src/slide_window.c
+++ b/src/slide_window.c
@@ -273,3 +273,9 @@ void slide_window_update_titlebar(SlideWindow *sw)
gtk_window_set_title(GTK_WINDOW(sw->window), title);
}
+
+
+void slide_window_destroy(SlideWindow *sw)
+{
+ gtk_widget_destroy(sw->window);
+}
diff --git a/src/slide_window.h b/src/slide_window.h
index f7394fa..f12d4c0 100644
--- a/src/slide_window.h
+++ b/src/slide_window.h
@@ -37,6 +37,8 @@ extern SlideWindow *slide_window_open(Narrative *n, Slide *slide,
extern void slide_window_update(SlideWindow *sw);
+extern void slide_window_destroy(SlideWindow *sw);
+
extern void slide_window_update_titlebar(SlideWindow *sw);
#endif /* SLIDEWINDOW_H */