From 790b6dee8468ded9b795cba008db66916217018b Mon Sep 17 00:00:00 2001 From: Thomas White Date: Wed, 1 May 2019 15:54:29 +0200 Subject: Close slide windows when closing narrative --- src/narrative_window.c | 3 +++ src/slide_window.c | 6 ++++++ src/slide_window.h | 2 ++ 3 files changed, 11 insertions(+) (limited to 'src') 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 */ -- cgit v1.2.3