From c1f879879aa9c11b97153e99facb4504fc6b88d1 Mon Sep 17 00:00:00 2001
From: Elliu <elliu@hashi.re>
Date: Tue, 11 Jan 2022 20:53:59 +0100
Subject: [PATCH] Close mpv window on module close

---
 src/module/module_qt_window.cc              | 3 ++-
 src/module/qt_window/mpvwidget_interface.cc | 7 +++++++
 src/module/qt_window/mpvwidget_interface.hh | 1 +
 3 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/module/module_qt_window.cc b/src/module/module_qt_window.cc
index 5daad1ec..514d6c31 100644
--- a/src/module/module_qt_window.cc
+++ b/src/module/module_qt_window.cc
@@ -213,7 +213,8 @@ module_qt_window_new(struct module_qt_window_s **win, struct queue *queue, lkt_d
 static void
 module_qt_window_close(struct module_qt_window_s *win)
 {
-    RETURN_UNLESS(win && win->mpv_widget, "Invalid arguments", NOTHING);
+    RETURN_UNLESS(win && win->mpv_widget && win->main_window, "Invalid arguments", NOTHING);
+    ___module_qt_window_close(win);
 }
 
 static void
diff --git a/src/module/qt_window/mpvwidget_interface.cc b/src/module/qt_window/mpvwidget_interface.cc
index 40514290..26e963bc 100644
--- a/src/module/qt_window/mpvwidget_interface.cc
+++ b/src/module/qt_window/mpvwidget_interface.cc
@@ -61,3 +61,10 @@ ___module_qt_window_toggle_pause(struct module_qt_window_s *win)
 {
     return win->mpv_widget->toggle_pause();
 }
+
+bool
+___module_qt_window_close(struct module_qt_window_s *win)
+{
+    delete(win->main_window);
+    return true;
+}
diff --git a/src/module/qt_window/mpvwidget_interface.hh b/src/module/qt_window/mpvwidget_interface.hh
index ac544562..f79eca9a 100644
--- a/src/module/qt_window/mpvwidget_interface.hh
+++ b/src/module/qt_window/mpvwidget_interface.hh
@@ -12,3 +12,4 @@ bool ___module_qt_window_set_volume(struct module_qt_window_s *, int);
 bool ___module_qt_window_set_position(struct module_qt_window_s *, int);
 bool ___module_qt_window_load_file(struct module_qt_window_s *, const char *);
 bool ___module_qt_window_toggle_pause(struct module_qt_window_s *);
+bool ___module_qt_window_close(struct module_qt_window_s *);
-- 
GitLab