changeset 2608:857910a58188

don't quit audacious if skins plugin gets unloaded
author Tomasz Mon <desowin@gmail.com>
date Wed, 21 May 2008 15:16:34 +0200
parents 2d3ddf80cffd
children 480ff5a3353c
files src/skins/plugin.c src/skins/plugin.h src/skins/ui_main.c
diffstat 3 files changed, 10 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/skins/plugin.c	Wed May 21 14:53:26 2008 +0200
+++ b/src/skins/plugin.c	Wed May 21 15:16:34 2008 +0200
@@ -66,8 +66,11 @@
     if (plugin_is_active == TRUE) {
         skins_cfg_free();
         gtk_widget_destroy(mainwin);
-        skin_free(aud_active_skin);
+        gtk_widget_destroy(equalizerwin);
+        skin_destroy(aud_active_skin);
         aud_active_skin = NULL;
+        mainwin = NULL;
+        equalizerwin = NULL;
         plugin_is_active = FALSE;
     }
 
--- a/src/skins/plugin.h	Wed May 21 14:53:26 2008 +0200
+++ b/src/skins/plugin.h	Wed May 21 15:16:34 2008 +0200
@@ -24,10 +24,11 @@
 #include <glib.h>
 #include <audacious/plugin.h>
 #include "skins_cfg.h"
+#include "ui_main.h"
+#include "ui_equalizer.h"
 
 #define PACKAGE_NAME "audacious-plugins"
 #define DATA_DIR "/usr/local/share/audacious/"
-extern GtkWidget *mainwin;
 
 void skins_init(void);
 void skins_cleanup(void);
--- a/src/skins/ui_main.c	Wed May 21 14:53:26 2008 +0200
+++ b/src/skins/ui_main.c	Wed May 21 15:16:34 2008 +0200
@@ -352,7 +352,11 @@
 static void
 mainwin_destroy(GtkWidget * widget, gpointer data)
 {
+/* we should detect whether plugin got unloaded and when user indeed
+   wants to close audacious */
+#if 0
     mainwin_quit_cb();
+#endif
 }
 
 static gchar *mainwin_tb_old_text = NULL;