47aaa83
diff -Nur audacious-plugins-2.2-orig/src/ladspa/ladspa.c audacious-plugins-2.2-ladspa/src/ladspa/ladspa.c
47aaa83
--- audacious-plugins-2.2-orig/src/ladspa/ladspa.c	2009-11-22 23:49:53.000000000 +0100
47aaa83
+++ audacious-plugins-2.2-ladspa/src/ladspa/ladspa.c	2010-02-04 12:07:59.000000000 +0100
47aaa83
@@ -145,7 +145,6 @@
47aaa83
 
47aaa83
 static void restore(void)
47aaa83
 {
47aaa83
-#if 0
47aaa83
     mcs_handle_t *db;
47aaa83
     gint k, plugins = 0;
47aaa83
 
47aaa83
@@ -157,16 +156,20 @@
47aaa83
 	gint id;
47aaa83
 	int port, ports = 0;
47aaa83
 	plugin_instance *instance;
47aaa83
-	gchar *bn, *section;
47aaa83
+	gchar *bn, *section, *file;
47aaa83
 
47aaa83
-	bn = g_path_get_basename(instance->filename);
47aaa83
-	section = g_strdup_printf("ladspa_plugin:%s:%d", bn, k);
47aaa83
-	g_free(bn);
47aaa83
+	section = g_strdup_printf("ladspa_plugin%ld", k);
47aaa83
 
47aaa83
 	aud_cfg_db_get_int(db, section, "id", &id;;
47aaa83
 	aud_cfg_db_get_int(db, section, "ports", &ports);
47aaa83
-
47aaa83
-	instance = add_plugin(get_plugin_by_id(id));
47aaa83
+	if (!aud_cfg_db_get_string(db, section, "file", &file)) {
47aaa83
+        g_free(section);
47aaa83
+        continue;
47aaa83
+    }
47aaa83
+	bn = g_path_get_basename(file);
47aaa83
+    g_free(file);
47aaa83
+	instance = add_plugin(get_plugin_by_id(bn,id));
47aaa83
+    g_free(bn);
47aaa83
 	if (!instance)
47aaa83
 	    continue;		/* couldn't load this plugin */
47aaa83
 
47aaa83
@@ -180,7 +183,6 @@
47aaa83
     }
47aaa83
 
47aaa83
     aud_cfg_db_close(db);
47aaa83
-#endif
47aaa83
 
47aaa83
     state.initialised = TRUE;
47aaa83
 }
47aaa83
@@ -222,8 +224,8 @@
47aaa83
     if (ladspa_path == NULL)
47aaa83
     {
47aaa83
 	/* Fallback, look in obvious places */
47aaa83
-	find_plugins("/usr/lib/ladspa");
47aaa83
-	find_plugins("/usr/local/lib/ladspa");
47aaa83
+	find_plugins("__RPM_LIBDIR__/ladspa");
47aaa83
+	find_plugins("/usr/local/__RPM_LIB__/ladspa");
47aaa83
     }
47aaa83
     else
47aaa83
     {
47aaa83
@@ -306,7 +308,7 @@
47aaa83
 	int port, ports = 0;
47aaa83
 
47aaa83
 	bn = g_path_get_basename(instance->filename);
47aaa83
-	section = g_strdup_printf("ladspa_plugin:%s:%ld", bn, instance->descriptor->UniqueID);
47aaa83
+	section = g_strdup_printf("ladspa_plugin%ld", plugins);
47aaa83
 	g_free(bn);
47aaa83
 
47aaa83
 	aud_cfg_db_set_int(db, section, "id", instance->descriptor->UniqueID);
47aaa83
@@ -325,6 +327,7 @@
47aaa83
 	aud_cfg_db_set_int(db, section, "ports", ports);
47aaa83
 	g_free(section);
47aaa83
 	ladspa_shutdown(instance);
47aaa83
+    plugins++;
47aaa83
     }
47aaa83
     G_UNLOCK(running_plugins);
47aaa83
 
07e8c2f
diff -Nur audacious-plugins-2.2-orig/src/ladspa/ladspa.c audacious-plugins-2.2/src/ladspa/ladspa.c
07e8c2f
--- audacious-plugins-2.2-orig/src/ladspa/ladspa.c	2009-11-22 23:49:53.000000000 +0100
07e8c2f
+++ audacious-plugins-2.2/src/ladspa/ladspa.c	2010-02-04 13:18:49.000000000 +0100
07e8c2f
@@ -702,6 +702,7 @@
07e8c2f
     }
07e8c2f
 
07e8c2f
     instance->window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
07e8c2f
+    gtk_window_set_type_hint(GTK_WINDOW(instance->window), GDK_WINDOW_TYPE_HINT_DIALOG);
07e8c2f
     gtk_window_set_title(GTK_WINDOW(instance->window), plugin->Name);
07e8c2f
 
07e8c2f
     vbox = gtk_vbox_new(FALSE, 3);
07e8c2f
@@ -1076,6 +1077,7 @@
07e8c2f
     }
07e8c2f
 
07e8c2f
     config_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
07e8c2f
+    gtk_window_set_type_hint(GTK_WINDOW(config_window), GDK_WINDOW_TYPE_HINT_DIALOG);
07e8c2f
     vbox = gtk_vbox_new(FALSE, 0);
07e8c2f
     hbox = gtk_hbox_new(TRUE, 0);
07e8c2f