diff --git a/apps/lang/arabic.lang b/apps/lang/arabic.lang
index 82f065e377..0ed7998ae8 100644
--- a/apps/lang/arabic.lang
+++ b/apps/lang/arabic.lang
@@ -3404,19 +3404,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "حفظ التغييرات ؟"
+ radio: ""
*: none
- radio: "Save Changes?"
+ radio: ""
diff --git a/apps/lang/bulgarian.lang b/apps/lang/bulgarian.lang
index b47070719e..8abac7708d 100644
--- a/apps/lang/bulgarian.lang
+++ b/apps/lang/bulgarian.lang
@@ -1986,15 +1986,15 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Запазване на промените?"
+ radio: ""
*: none
diff --git a/apps/lang/catala.lang b/apps/lang/catala.lang
index cb94953987..6f0b0841ca 100644
--- a/apps/lang/catala.lang
+++ b/apps/lang/catala.lang
@@ -5375,19 +5375,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Desa els Canvis?"
+ radio: ""
*: none
- radio: "Desa els Canvis?"
+ radio: ""
diff --git a/apps/lang/chinese-simp.lang b/apps/lang/chinese-simp.lang
index 3594cf6b3c..e44352d7c9 100644
--- a/apps/lang/chinese-simp.lang
+++ b/apps/lang/chinese-simp.lang
@@ -7523,19 +7523,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "保存变动?"
+ radio: ""
*: none
- radio: "保存变动吗"
+ radio: ""
diff --git a/apps/lang/chinese-trad.lang b/apps/lang/chinese-trad.lang
index c798f8ccfd..647af4259b 100644
--- a/apps/lang/chinese-trad.lang
+++ b/apps/lang/chinese-trad.lang
@@ -7532,15 +7532,15 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "儲存變動?"
+ radio: ""
*: none
diff --git a/apps/lang/czech.lang b/apps/lang/czech.lang
index 8e93b58ba3..71a3635ce4 100644
--- a/apps/lang/czech.lang
+++ b/apps/lang/czech.lang
@@ -5383,19 +5383,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Uložit změny?"
+ radio: ""
*: none
- radio: "Uložit změny?"
+ radio: ""
diff --git a/apps/lang/dansk.lang b/apps/lang/dansk.lang
index 354848202d..21747e3ee6 100644
--- a/apps/lang/dansk.lang
+++ b/apps/lang/dansk.lang
@@ -6595,19 +6595,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Gem ændringer?"
+ radio: ""
*: none
- radio: "Vil du gemme ændringer?"
+ radio: ""
diff --git a/apps/lang/deutsch.lang b/apps/lang/deutsch.lang
index 3040f1c858..3deb867a0f 100644
--- a/apps/lang/deutsch.lang
+++ b/apps/lang/deutsch.lang
@@ -5385,19 +5385,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Änderungen speichern?"
+ radio: ""
*: none
- radio: "Änderungen speichern?"
+ radio: ""
diff --git a/apps/lang/eesti.lang b/apps/lang/eesti.lang
index ad621a8865..5c19d5093d 100644
--- a/apps/lang/eesti.lang
+++ b/apps/lang/eesti.lang
@@ -7046,13 +7046,13 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
- *: "Save Changes?"
+ *: ""
*: ""
diff --git a/apps/lang/english-us.lang b/apps/lang/english-us.lang
index b558db3a92..1dd5196a27 100644
--- a/apps/lang/english-us.lang
+++ b/apps/lang/english-us.lang
@@ -5382,19 +5382,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Save Changes?"
+ radio: ""
*: none
- radio: "Save Changes?"
+ radio: ""
diff --git a/apps/lang/english.lang b/apps/lang/english.lang
index e9d1dbaccc..bd52e17437 100644
--- a/apps/lang/english.lang
+++ b/apps/lang/english.lang
@@ -5466,19 +5466,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Save Changes?"
+ radio: ""
*: none
- radio: "Save Changes?"
+ radio: ""
@@ -12799,3 +12799,17 @@
*: "Current Playlist"
+
+ id: LANG_SAVE_CHANGES
+ desc: When you try to exit screens to confirm save
+ user: core
+
+
+ *: "Save Changes?"
+
+
+ *: "Save Changes?"
+
+
diff --git a/apps/lang/espanol.lang b/apps/lang/espanol.lang
index 15046f1d1b..24e9d0e65a 100644
--- a/apps/lang/espanol.lang
+++ b/apps/lang/espanol.lang
@@ -5676,19 +5676,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "¿Guardar cambios?"
+ radio: ""
*: none
- radio: "¿Guardar cambios?"
+ radio: ""
diff --git a/apps/lang/esperanto.lang b/apps/lang/esperanto.lang
index fac043e4b4..e0c9693db4 100644
--- a/apps/lang/esperanto.lang
+++ b/apps/lang/esperanto.lang
@@ -7249,13 +7249,13 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
- *: "Savi Ŝanĝojn?"
+ *: ""
*: ""
diff --git a/apps/lang/finnish.lang b/apps/lang/finnish.lang
index a746df1d46..468b0ee35f 100644
--- a/apps/lang/finnish.lang
+++ b/apps/lang/finnish.lang
@@ -7529,19 +7529,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Tallennetaanko muutokset?"
+ radio: ""
*: none
- radio: "Tallennetaanko muutokset?"
+ radio: ""
diff --git a/apps/lang/francais.lang b/apps/lang/francais.lang
index 842ffe4c1b..e58b19c161 100644
--- a/apps/lang/francais.lang
+++ b/apps/lang/francais.lang
@@ -5409,19 +5409,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Sauvegarder les changements ?"
+ radio: ""
*: none
- radio: "Sauvegarder les changements ?"
+ radio: ""
diff --git a/apps/lang/galego.lang b/apps/lang/galego.lang
index 162c8f8da4..e0f8b3d5c7 100644
--- a/apps/lang/galego.lang
+++ b/apps/lang/galego.lang
@@ -5843,19 +5843,19 @@ iriverifp7xx: "%d%% %dh %dm"
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Gardar cambios?"
+ radio: ""
*: none
- radio: "Gardar cambios?"
+ radio: ""
diff --git a/apps/lang/greek.lang b/apps/lang/greek.lang
index 8814dee895..281b72ac20 100644
--- a/apps/lang/greek.lang
+++ b/apps/lang/greek.lang
@@ -5352,19 +5352,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Αποθήκευση αλλαγών;"
+ radio: ""
*: none
- radio: "Αποθήκευση αλλαγών;"
+ radio: ""
diff --git a/apps/lang/hebrew.lang b/apps/lang/hebrew.lang
index b753ce7952..c24a696aba 100644
--- a/apps/lang/hebrew.lang
+++ b/apps/lang/hebrew.lang
@@ -5390,19 +5390,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "?לשמור שינויים"
+ radio: ""
*: none
- radio: "לשמור שינויים?"
+ radio: ""
diff --git a/apps/lang/hindi.lang b/apps/lang/hindi.lang
index 6f0cece523..bfff1be1e1 100644
--- a/apps/lang/hindi.lang
+++ b/apps/lang/hindi.lang
@@ -2542,19 +2542,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Changes बचा?"
+ radio: ""
*: none
- radio: "Changes बचा?"
+ radio: ""
diff --git a/apps/lang/hrvatski.lang b/apps/lang/hrvatski.lang
index 1f31ff408f..7aa88ba327 100644
--- a/apps/lang/hrvatski.lang
+++ b/apps/lang/hrvatski.lang
@@ -5382,19 +5382,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Spremiti promjene?"
+ radio: ""
*: none
- radio: "Spremiti promjene?"
+ radio: ""
diff --git a/apps/lang/islenska.lang b/apps/lang/islenska.lang
index df9c9463bc..863560ee8e 100644
--- a/apps/lang/islenska.lang
+++ b/apps/lang/islenska.lang
@@ -6194,19 +6194,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Vista breytingar?"
+ radio: ""
*: none
- radio: "Save Changes?"
+ radio: ""
diff --git a/apps/lang/italiano.lang b/apps/lang/italiano.lang
index 6f2b5dfb8b..eb3c6ae37d 100644
--- a/apps/lang/italiano.lang
+++ b/apps/lang/italiano.lang
@@ -5384,19 +5384,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Salvare le modifiche?"
+ radio: ""
*: none
- radio: "Salvare le modifiche?"
+ radio: ""
diff --git a/apps/lang/japanese.lang b/apps/lang/japanese.lang
index 50b249750e..4599020eeb 100644
--- a/apps/lang/japanese.lang
+++ b/apps/lang/japanese.lang
@@ -5388,19 +5388,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "プリセットを保存しますか?"
+ radio: ""
*: none
- radio: "プリセットを保存しますか?"
+ radio: ""
diff --git a/apps/lang/korean.lang b/apps/lang/korean.lang
index 5ad965e27a..1c12991fe4 100644
--- a/apps/lang/korean.lang
+++ b/apps/lang/korean.lang
@@ -7528,19 +7528,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "변경사항을 저장할까요?"
+ radio: ""
*: none
- radio: "변경사항을 저장할까요?"
+ radio: ""
diff --git a/apps/lang/latviesu.lang b/apps/lang/latviesu.lang
index 4c8dfa659e..2f6c8058a8 100644
--- a/apps/lang/latviesu.lang
+++ b/apps/lang/latviesu.lang
@@ -5382,19 +5382,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Saglabāt Izmaiņas?"
+ radio: ""
*: none
- radio: "Saglabāt Izmaiņas?"
+ radio: ""
diff --git a/apps/lang/lietuviu.lang b/apps/lang/lietuviu.lang
index 5af107aa70..2c0ad7f3e7 100644
--- a/apps/lang/lietuviu.lang
+++ b/apps/lang/lietuviu.lang
@@ -5440,19 +5440,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Išsaugoti pakeitimus?"
+ radio: ""
*: none
- radio: "Išsaugoti pakeitimus?"
+ radio: ""
diff --git a/apps/lang/magyar.lang b/apps/lang/magyar.lang
index bdd7b4e0bb..b17f0e8790 100644
--- a/apps/lang/magyar.lang
+++ b/apps/lang/magyar.lang
@@ -5358,19 +5358,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Mentsem a változtatásokat?"
+ radio: ""
*: none
- radio: "Save Changes?"
+ radio: ""
diff --git a/apps/lang/nederlands.lang b/apps/lang/nederlands.lang
index 28bef6890e..b9d35b2479 100644
--- a/apps/lang/nederlands.lang
+++ b/apps/lang/nederlands.lang
@@ -7525,19 +7525,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Verandering opslaan?"
+ radio: ""
*: none
- radio: "Verandering opslaan?"
+ radio: ""
diff --git a/apps/lang/norsk-nynorsk.lang b/apps/lang/norsk-nynorsk.lang
index 835a6bd78d..6971cdd469 100644
--- a/apps/lang/norsk-nynorsk.lang
+++ b/apps/lang/norsk-nynorsk.lang
@@ -7418,19 +7418,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Vil du lagra endringane?"
+ radio: ""
*: none
- radio: "Vil du lagra endringane?"
+ radio: ""
diff --git a/apps/lang/norsk.lang b/apps/lang/norsk.lang
index 6c7a37156f..a7d1935887 100644
--- a/apps/lang/norsk.lang
+++ b/apps/lang/norsk.lang
@@ -6597,19 +6597,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Lagre endringer?"
+ radio: ""
*: none
- radio: "Lagre endringer?"
+ radio: ""
diff --git a/apps/lang/polski.lang b/apps/lang/polski.lang
index bd5d8d412c..7ca2c621d9 100644
--- a/apps/lang/polski.lang
+++ b/apps/lang/polski.lang
@@ -5392,19 +5392,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Zapisać zmiany?"
+ radio: ""
*: none
- radio: "Zapisać zmiany?"
+ radio: ""
diff --git a/apps/lang/portugues-brasileiro.lang b/apps/lang/portugues-brasileiro.lang
index d397530034..6663f1d8c6 100644
--- a/apps/lang/portugues-brasileiro.lang
+++ b/apps/lang/portugues-brasileiro.lang
@@ -5382,19 +5382,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Gravar Mudanças?"
+ radio: ""
*: none
- radio: "Gravar Mudanças?"
+ radio: ""
diff --git a/apps/lang/portugues.lang b/apps/lang/portugues.lang
index 9fa86499a5..e0ba71cb42 100644
--- a/apps/lang/portugues.lang
+++ b/apps/lang/portugues.lang
@@ -9515,19 +9515,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Guardar Alterações?"
+ radio: ""
*: none
- radio: "Guardar Alterações?"
+ radio: ""
diff --git a/apps/lang/romaneste.lang b/apps/lang/romaneste.lang
index dbd6f7960c..6f232478a4 100644
--- a/apps/lang/romaneste.lang
+++ b/apps/lang/romaneste.lang
@@ -2327,19 +2327,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Salvați modificările?"
+ radio: ""
*: none
- radio: "Salvați modificările?"
+ radio: ""
diff --git a/apps/lang/russian.lang b/apps/lang/russian.lang
index db66ee842d..785a273837 100644
--- a/apps/lang/russian.lang
+++ b/apps/lang/russian.lang
@@ -7284,19 +7284,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Сохранить изменения?"
+ radio: ""
*: none
- radio: "Сохранить изменения?"
+ radio: ""
diff --git a/apps/lang/slovak.lang b/apps/lang/slovak.lang
index 4529efedfe..41c888ea7d 100644
--- a/apps/lang/slovak.lang
+++ b/apps/lang/slovak.lang
@@ -5382,19 +5382,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Uložiť Zmeny?"
+ radio: ""
*: none
- radio: "Uložiť Zmeny?"
+ radio: ""
diff --git a/apps/lang/slovenscina.lang b/apps/lang/slovenscina.lang
index de8e509b94..f117c1db98 100644
--- a/apps/lang/slovenscina.lang
+++ b/apps/lang/slovenscina.lang
@@ -2661,19 +2661,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Save Changes?"
+ radio: ""
*: none
- radio: "Save Changes?"
+ radio: ""
diff --git a/apps/lang/srpski.lang b/apps/lang/srpski.lang
index fa2180f6f5..c528866212 100644
--- a/apps/lang/srpski.lang
+++ b/apps/lang/srpski.lang
@@ -5364,19 +5364,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Да снимим промене?"
+ radio: ""
*: none
- radio: "Да снимим промене?"
+ radio: ""
diff --git a/apps/lang/svenska.lang b/apps/lang/svenska.lang
index 41499ee6fa..8dea586c44 100644
--- a/apps/lang/svenska.lang
+++ b/apps/lang/svenska.lang
@@ -5385,19 +5385,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Spara ändringar?"
+ radio: ""
*: none
- radio: "Spara ändringar?"
+ radio: ""
diff --git a/apps/lang/tagalog.lang b/apps/lang/tagalog.lang
index d7c329cf57..3d46afd4a1 100644
--- a/apps/lang/tagalog.lang
+++ b/apps/lang/tagalog.lang
@@ -5366,19 +5366,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Mag-ipon palitan?"
+ radio: ""
*: none
- radio: "Save Changes?"
+ radio: ""
diff --git a/apps/lang/thai.lang b/apps/lang/thai.lang
index 701886734e..c64fcc596b 100644
--- a/apps/lang/thai.lang
+++ b/apps/lang/thai.lang
@@ -5346,19 +5346,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "บันทึกการเปลี่ยนแปลง?"
+ radio: ""
*: none
- radio: "Save Changes?"
+ radio: ""
diff --git a/apps/lang/ukrainian.lang b/apps/lang/ukrainian.lang
index 9a9e7781d1..81d98d0cc1 100644
--- a/apps/lang/ukrainian.lang
+++ b/apps/lang/ukrainian.lang
@@ -5375,19 +5375,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Зберегти Змiни?"
+ radio: ""
*: none
- radio: "Зберегти Змiни?"
+ radio: ""
diff --git a/apps/lang/walon.lang b/apps/lang/walon.lang
index 45fb041378..4d67f36517 100644
--- a/apps/lang/walon.lang
+++ b/apps/lang/walon.lang
@@ -5386,19 +5386,19 @@
id: LANG_FM_SAVE_CHANGES
- desc: When you try to exit radio to confirm save
+ desc: deprecated
user: core
*: none
- radio: "Schaper les candjmints ?"
+ radio: ""
*: none
- radio: "Schaper les candjmints ?"
+ radio: ""
diff --git a/apps/playlist.c b/apps/playlist.c
index ae6ea900d2..367e935006 100644
--- a/apps/playlist.c
+++ b/apps/playlist.c
@@ -103,6 +103,7 @@
#include "splash.h"
#include "rbunicode.h"
#include "root_menu.h"
+#include "plugin.h" /* To borrow a temp buffer to rewrite a .m3u8 file */
#define PLAYLIST_CONTROL_FILE_VERSION 2
@@ -3369,6 +3370,8 @@ int playlist_save(struct playlist_info* playlist, char *filename)
int result = 0;
bool overwrite_current = false;
int* index_buf = NULL;
+ char* old_buffer = NULL;
+ size_t old_buffer_size = 0;
if (!playlist)
playlist = ¤t_playlist;
@@ -3388,8 +3391,17 @@ int playlist_save(struct playlist_info* playlist, char *filename)
if (playlist->buffer_size < (int)(playlist->amount * sizeof(int)))
{
/* not enough buffer space to store updated indices */
- splash(HZ*2, ID2P(LANG_PLAYLIST_ACCESS_ERROR));
- return -1;
+ /* Try to get a buffer */
+ old_buffer = playlist->buffer;
+ old_buffer_size = playlist->buffer_size;
+ playlist->buffer = plugin_get_buffer((size_t*)&playlist->buffer_size);
+ if (playlist->buffer_size < (int)(playlist->amount * sizeof(int)))
+ {
+ playlist->buffer = old_buffer;
+ playlist->buffer_size = old_buffer_size;
+ splash(HZ*2, ID2P(LANG_PLAYLIST_ACCESS_ERROR));
+ return -1;
+ }
}
/* in_ram buffer is unused for m3u files so we'll use for storing
@@ -3413,6 +3425,11 @@ int playlist_save(struct playlist_info* playlist, char *filename)
if (fd < 0)
{
splash(HZ*2, ID2P(LANG_PLAYLIST_ACCESS_ERROR));
+ if (old_buffer != NULL)
+ {
+ playlist->buffer = old_buffer;
+ playlist->buffer_size = old_buffer_size;
+ }
return -1;
}
@@ -3513,6 +3530,11 @@ int playlist_save(struct playlist_info* playlist, char *filename)
}
cpu_boost(false);
+ if (old_buffer != NULL)
+ {
+ playlist->buffer = old_buffer;
+ playlist->buffer_size = old_buffer_size;
+ }
return result;
}
diff --git a/apps/playlist_viewer.c b/apps/playlist_viewer.c
index f1ed0ac0fd..940a6d77dc 100644
--- a/apps/playlist_viewer.c
+++ b/apps/playlist_viewer.c
@@ -48,6 +48,7 @@
#include "list.h"
#include "splash.h"
#include "playlist_menu.h"
+#include "yesno.h"
/* Maximum number of tracks we can have loaded at one time */
#define MAX_PLAYLIST_ENTRIES 200
@@ -634,6 +635,7 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename)
enum playlist_viewer_result ret = PLAYLIST_VIEWER_OK;
bool exit = false; /* exit viewer */
int button;
+ bool dirty = false;
struct gui_synclist playlist_lists;
if (!playlist_viewer_init(&viewer, filename, false))
goto exit;
@@ -729,6 +731,7 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename)
update_playlist(true);
viewer.moving_track = -1;
viewer.moving_playlist_index = -1;
+ dirty = true;
}
else if (!viewer.playlist)
{
@@ -784,6 +787,7 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename)
exit = true;
if (viewer.selected_track >= viewer.num_tracks)
viewer.selected_track = viewer.num_tracks-1;
+ dirty = true;
}
gui_synclist_draw(&playlist_lists);
break;
@@ -803,7 +807,11 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename)
exit:
if (viewer.playlist)
+ {
+ if(dirty && yesno_pop(ID2P(LANG_SAVE_CHANGES)))
+ save_playlist_screen(viewer.playlist);
playlist_close(viewer.playlist);
+ }
return ret;
}
diff --git a/apps/radio/radio.c b/apps/radio/radio.c
index f88a63382d..d687948c94 100644
--- a/apps/radio/radio.c
+++ b/apps/radio/radio.c
@@ -489,7 +489,7 @@ void radio_screen(void)
done = true;
if(presets_have_changed())
{
- if(yesno_pop(ID2P(LANG_FM_SAVE_CHANGES)))
+ if(yesno_pop(ID2P(LANG_SAVE_CHANGES)))
{
presets_save();
}
@@ -539,7 +539,7 @@ void radio_screen(void)
done = true;
if(presets_have_changed())
{
- if(yesno_pop(ID2P(LANG_FM_SAVE_CHANGES)))
+ if(yesno_pop(ID2P(LANG_SAVE_CHANGES)))
{
presets_save();
}
@@ -705,7 +705,7 @@ void radio_screen(void)
done = true;
if(presets_have_changed())
{
- if(yesno_pop(ID2P(LANG_FM_SAVE_CHANGES)))
+ if(yesno_pop(ID2P(LANG_SAVE_CHANGES)))
{
radio_save_presets();
}