From d1fd4f08f56f6dd46b26b1f41baff425ca71d498 Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Thu, 21 Jul 2011 06:40:21 +0000 Subject: [PATCH] Fix FS#8656 - Error saving non-current playlist file Use the plugin buffer to save the playlist copy if there isnt enough buffer already allocated to the inram copy of the playlist git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30184 a1c6a512-1295-4272-9138-f99709370657 --- apps/lang/arabic.lang | 8 ++++---- apps/lang/bulgarian.lang | 6 +++--- apps/lang/catala.lang | 8 ++++---- apps/lang/chinese-simp.lang | 8 ++++---- apps/lang/chinese-trad.lang | 6 +++--- apps/lang/czech.lang | 8 ++++---- apps/lang/dansk.lang | 8 ++++---- apps/lang/deutsch.lang | 8 ++++---- apps/lang/eesti.lang | 6 +++--- apps/lang/english-us.lang | 8 ++++---- apps/lang/english.lang | 22 ++++++++++++++++++---- apps/lang/espanol.lang | 8 ++++---- apps/lang/esperanto.lang | 6 +++--- apps/lang/finnish.lang | 8 ++++---- apps/lang/francais.lang | 8 ++++---- apps/lang/galego.lang | 8 ++++---- apps/lang/greek.lang | 8 ++++---- apps/lang/hebrew.lang | 8 ++++---- apps/lang/hindi.lang | 8 ++++---- apps/lang/hrvatski.lang | 8 ++++---- apps/lang/islenska.lang | 8 ++++---- apps/lang/italiano.lang | 8 ++++---- apps/lang/japanese.lang | 8 ++++---- apps/lang/korean.lang | 8 ++++---- apps/lang/latviesu.lang | 8 ++++---- apps/lang/lietuviu.lang | 8 ++++---- apps/lang/magyar.lang | 8 ++++---- apps/lang/nederlands.lang | 8 ++++---- apps/lang/norsk-nynorsk.lang | 8 ++++---- apps/lang/norsk.lang | 8 ++++---- apps/lang/polski.lang | 8 ++++---- apps/lang/portugues-brasileiro.lang | 8 ++++---- apps/lang/portugues.lang | 8 ++++---- apps/lang/romaneste.lang | 8 ++++---- apps/lang/russian.lang | 8 ++++---- apps/lang/slovak.lang | 8 ++++---- apps/lang/slovenscina.lang | 8 ++++---- apps/lang/srpski.lang | 8 ++++---- apps/lang/svenska.lang | 8 ++++---- apps/lang/tagalog.lang | 8 ++++---- apps/lang/thai.lang | 8 ++++---- apps/lang/ukrainian.lang | 8 ++++---- apps/lang/walon.lang | 8 ++++---- apps/playlist.c | 26 ++++++++++++++++++++++++-- apps/playlist_viewer.c | 8 ++++++++ apps/radio/radio.c | 6 +++--- 46 files changed, 217 insertions(+), 173 deletions(-) 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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?" + *: "" - *: "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: "" *: 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: "" *: 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?" + + + *: "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: "Save Changes?" + radio: "" *: 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 - *: "Save Changes?" + *: "" - *: "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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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: "Save Changes?" + radio: "" *: 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(); }