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
This commit is contained in:
Jonathan Gordon 2011-07-21 06:40:21 +00:00
parent a7c37ea2d0
commit d1fd4f08f5
46 changed files with 217 additions and 173 deletions

View file

@ -3404,19 +3404,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "حفظ التغييرات ؟" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Save Changes?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -1986,15 +1986,15 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Запазване на промените?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none

View file

@ -5375,19 +5375,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Desa els Canvis?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Desa els Canvis?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -7523,19 +7523,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "保存变动?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "保存变动吗" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -7532,15 +7532,15 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "儲存變動?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none

View file

@ -5383,19 +5383,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Uložit změny?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Uložit změny?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -6595,19 +6595,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Gem ændringer?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Vil du gemme ændringer?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -5385,19 +5385,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Änderungen speichern?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Änderungen speichern?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -7046,13 +7046,13 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: "Save Changes?" *: ""
</source> </source>
<dest> <dest>
*: "Save Changes?" *: ""
</dest> </dest>
<voice> <voice>
*: "" *: ""

View file

@ -5382,19 +5382,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Save Changes?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Save Changes?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -5466,19 +5466,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Save Changes?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Save Changes?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>
@ -12799,3 +12799,17 @@
*: "Current Playlist" *: "Current Playlist"
</voice> </voice>
</phrase> </phrase>
<phrase>
id: LANG_SAVE_CHANGES
desc: When you try to exit screens to confirm save
user: core
<source>
*: "Save Changes?"
</source>
<dest>
*: "Save Changes?"
</dest>
<voice>
*: "Save Changes?"
</voice>
</phrase>

View file

@ -5676,19 +5676,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "¿Guardar cambios?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "¿Guardar cambios?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -7249,13 +7249,13 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: "Save Changes?" *: ""
</source> </source>
<dest> <dest>
*: "Savi Ŝanĝojn?" *: ""
</dest> </dest>
<voice> <voice>
*: "" *: ""

View file

@ -7529,19 +7529,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Tallennetaanko muutokset?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Tallennetaanko muutokset?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -5409,19 +5409,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Sauvegarder les changements ?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Sauvegarder les changements ?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -5843,19 +5843,19 @@ iriverifp7xx: "%d%% %dh %dm"
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Gardar cambios?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Gardar cambios?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -5352,19 +5352,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Αποθήκευση αλλαγών;" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Αποθήκευση αλλαγών;" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -5390,19 +5390,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "?לשמור שינויים" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "לשמור שינויים?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -2542,19 +2542,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Changes बचा?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Changes बचा?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -5382,19 +5382,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Spremiti promjene?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Spremiti promjene?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -6194,19 +6194,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Vista breytingar?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Save Changes?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -5384,19 +5384,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Salvare le modifiche?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Salvare le modifiche?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -5388,19 +5388,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "プリセットを保存しますか?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "プリセットを保存しますか?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -7528,19 +7528,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "변경사항을 저장할까요?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "변경사항을 저장할까요?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -5382,19 +5382,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Saglabāt Izmaiņas?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Saglabāt Izmaiņas?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -5440,19 +5440,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Išsaugoti pakeitimus?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Išsaugoti pakeitimus?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -5358,19 +5358,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Mentsem a változtatásokat?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Save Changes?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -7525,19 +7525,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Verandering opslaan?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Verandering opslaan?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -7418,19 +7418,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Vil du lagra endringane?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Vil du lagra endringane?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -6597,19 +6597,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Lagre endringer?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Lagre endringer?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -5392,19 +5392,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Zapisać zmiany?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Zapisać zmiany?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -5382,19 +5382,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Gravar Mudanças?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Gravar Mudanças?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -9515,19 +9515,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Guardar Alterações?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Guardar Alterações?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -2327,19 +2327,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Salvați modificările?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Salvați modificările?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -7284,19 +7284,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Сохранить изменения?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Сохранить изменения?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -5382,19 +5382,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Uložiť Zmeny?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Uložiť Zmeny?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -2661,19 +2661,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Save Changes?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Save Changes?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -5364,19 +5364,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Да снимим промене?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Да снимим промене?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -5385,19 +5385,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Spara ändringar?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Spara ändringar?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -5366,19 +5366,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Mag-ipon palitan?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Save Changes?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -5346,19 +5346,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "บันทึกการเปลี่ยนแปลง?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Save Changes?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -5375,19 +5375,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Зберегти Змiни?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Зберегти Змiни?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -5386,19 +5386,19 @@
</phrase> </phrase>
<phrase> <phrase>
id: LANG_FM_SAVE_CHANGES id: LANG_FM_SAVE_CHANGES
desc: When you try to exit radio to confirm save desc: deprecated
user: core user: core
<source> <source>
*: none *: none
radio: "Save Changes?" radio: ""
</source> </source>
<dest> <dest>
*: none *: none
radio: "Schaper les candjmints ?" radio: ""
</dest> </dest>
<voice> <voice>
*: none *: none
radio: "Schaper les candjmints ?" radio: ""
</voice> </voice>
</phrase> </phrase>
<phrase> <phrase>

View file

@ -103,6 +103,7 @@
#include "splash.h" #include "splash.h"
#include "rbunicode.h" #include "rbunicode.h"
#include "root_menu.h" #include "root_menu.h"
#include "plugin.h" /* To borrow a temp buffer to rewrite a .m3u8 file */
#define PLAYLIST_CONTROL_FILE_VERSION 2 #define PLAYLIST_CONTROL_FILE_VERSION 2
@ -3369,6 +3370,8 @@ int playlist_save(struct playlist_info* playlist, char *filename)
int result = 0; int result = 0;
bool overwrite_current = false; bool overwrite_current = false;
int* index_buf = NULL; int* index_buf = NULL;
char* old_buffer = NULL;
size_t old_buffer_size = 0;
if (!playlist) if (!playlist)
playlist = &current_playlist; playlist = &current_playlist;
@ -3388,8 +3391,17 @@ int playlist_save(struct playlist_info* playlist, char *filename)
if (playlist->buffer_size < (int)(playlist->amount * sizeof(int))) if (playlist->buffer_size < (int)(playlist->amount * sizeof(int)))
{ {
/* not enough buffer space to store updated indices */ /* not enough buffer space to store updated indices */
splash(HZ*2, ID2P(LANG_PLAYLIST_ACCESS_ERROR)); /* Try to get a buffer */
return -1; 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 /* 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) if (fd < 0)
{ {
splash(HZ*2, ID2P(LANG_PLAYLIST_ACCESS_ERROR)); splash(HZ*2, ID2P(LANG_PLAYLIST_ACCESS_ERROR));
if (old_buffer != NULL)
{
playlist->buffer = old_buffer;
playlist->buffer_size = old_buffer_size;
}
return -1; return -1;
} }
@ -3513,6 +3530,11 @@ int playlist_save(struct playlist_info* playlist, char *filename)
} }
cpu_boost(false); cpu_boost(false);
if (old_buffer != NULL)
{
playlist->buffer = old_buffer;
playlist->buffer_size = old_buffer_size;
}
return result; return result;
} }

View file

@ -48,6 +48,7 @@
#include "list.h" #include "list.h"
#include "splash.h" #include "splash.h"
#include "playlist_menu.h" #include "playlist_menu.h"
#include "yesno.h"
/* Maximum number of tracks we can have loaded at one time */ /* Maximum number of tracks we can have loaded at one time */
#define MAX_PLAYLIST_ENTRIES 200 #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; enum playlist_viewer_result ret = PLAYLIST_VIEWER_OK;
bool exit = false; /* exit viewer */ bool exit = false; /* exit viewer */
int button; int button;
bool dirty = false;
struct gui_synclist playlist_lists; struct gui_synclist playlist_lists;
if (!playlist_viewer_init(&viewer, filename, false)) if (!playlist_viewer_init(&viewer, filename, false))
goto exit; goto exit;
@ -729,6 +731,7 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename)
update_playlist(true); update_playlist(true);
viewer.moving_track = -1; viewer.moving_track = -1;
viewer.moving_playlist_index = -1; viewer.moving_playlist_index = -1;
dirty = true;
} }
else if (!viewer.playlist) else if (!viewer.playlist)
{ {
@ -784,6 +787,7 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename)
exit = true; exit = true;
if (viewer.selected_track >= viewer.num_tracks) if (viewer.selected_track >= viewer.num_tracks)
viewer.selected_track = viewer.num_tracks-1; viewer.selected_track = viewer.num_tracks-1;
dirty = true;
} }
gui_synclist_draw(&playlist_lists); gui_synclist_draw(&playlist_lists);
break; break;
@ -803,7 +807,11 @@ enum playlist_viewer_result playlist_viewer_ex(const char* filename)
exit: exit:
if (viewer.playlist) if (viewer.playlist)
{
if(dirty && yesno_pop(ID2P(LANG_SAVE_CHANGES)))
save_playlist_screen(viewer.playlist);
playlist_close(viewer.playlist); playlist_close(viewer.playlist);
}
return ret; return ret;
} }

View file

@ -489,7 +489,7 @@ void radio_screen(void)
done = true; done = true;
if(presets_have_changed()) if(presets_have_changed())
{ {
if(yesno_pop(ID2P(LANG_FM_SAVE_CHANGES))) if(yesno_pop(ID2P(LANG_SAVE_CHANGES)))
{ {
presets_save(); presets_save();
} }
@ -539,7 +539,7 @@ void radio_screen(void)
done = true; done = true;
if(presets_have_changed()) if(presets_have_changed())
{ {
if(yesno_pop(ID2P(LANG_FM_SAVE_CHANGES))) if(yesno_pop(ID2P(LANG_SAVE_CHANGES)))
{ {
presets_save(); presets_save();
} }
@ -705,7 +705,7 @@ void radio_screen(void)
done = true; done = true;
if(presets_have_changed()) if(presets_have_changed())
{ {
if(yesno_pop(ID2P(LANG_FM_SAVE_CHANGES))) if(yesno_pop(ID2P(LANG_SAVE_CHANGES)))
{ {
radio_save_presets(); radio_save_presets();
} }