From ef5ea9f92c7da7bdc078682c15ea8e0cdf9a5901 Mon Sep 17 00:00:00 2001
From: twinaphex <libretro@gmail.com>
Date: Sat, 2 Aug 2014 15:28:37 +0200
Subject: [PATCH] Refactor MENU_SETTINGS_AUDIO_DSP_FILTER

---
 frontend/menu/backend/menu_common_backend.c | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/frontend/menu/backend/menu_common_backend.c b/frontend/menu/backend/menu_common_backend.c
index 1f9066b96d..9d6ccac1d5 100644
--- a/frontend/menu/backend/menu_common_backend.c
+++ b/frontend/menu/backend/menu_common_backend.c
@@ -3757,16 +3757,8 @@ static int menu_common_setting_set(unsigned setting, unsigned action)
          }
          break;
       case MENU_SETTINGS_AUDIO_DSP_FILTER:
-         switch (action)
-         {
-            case MENU_ACTION_OK:
-               menu_common_setting_push_current_menu(driver.menu->menu_stack, g_settings.audio.filter_dir, setting, driver.menu->selection_ptr, action);
-               break;
-            case MENU_ACTION_START:
-               rarch_main_command(RARCH_CMD_DSP_FILTER_DEINIT);
-               *g_settings.audio.dsp_plugin = '\0';
-               break;
-         }
+         if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "audio_dsp_plugin")))
+            menu_common_setting_set_current_path_selection(current_setting, g_settings.audio.filter_dir, setting, action);
          break;
 #ifdef HAVE_OVERLAY
       case MENU_SETTINGS_OVERLAY_OPACITY: