]> git.sesse.net Git - vlc/blobdiff - modules/gui/skins2/commands/cmd_quit.cpp
dash: MPDManager: Fixing memory leak
[vlc] / modules / gui / skins2 / commands / cmd_quit.cpp
index 94f82da698831cfdd8a20212bdd6f49ada9a4b27..b6d49fa6478cb575e77d53960166e446a03d2030 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
+#ifdef HAVE_CONFIG_H
+#   include "config.h"
+#endif
+
+#include <vlc_osd.h>
+#include <vlc_playlist.h>
+
 #include "cmd_quit.hpp"
 #include "../src/os_factory.hpp"
 #include "../src/os_loop.hpp"
 
 void CmdQuit::execute()
 {
-    // Get the instance of OSFactory
-    OSFactory *pOsFactory = OSFactory::instance( getIntf() );
+    if( getIntf()->p_sys->p_input )
+    {
+        vout_thread_t *pVout = input_GetVout( getIntf()->p_sys->p_input );
+        if( pVout )
+        {
+            vout_OSDMessage( pVout, SPU_DEFAULT_CHANNEL, "%s", _( "Quit" ) );
+            vlc_object_release( pVout );
+        }
+    }
 
-    // Exit the main OS loop
-    pOsFactory->getOSLoop()->exit();
+    // Kill libvlc
+    libvlc_Quit( getIntf()->p_libvlc );
 }