summaryrefslogtreecommitdiff
path: root/apps/onplay.c
diff options
context:
space:
mode:
authorChristian Soffke <christian.soffke@gmail.com>2021-03-08 13:33:43 +0100
committerSolomon Peachy <pizza@shaftnet.org>2021-03-09 11:26:05 +0000
commit6387d0352e11bf2f0ed6b29b1fca10d323dd1c6c (patch)
tree7635546f2c4ea1a5979efe0ce019b99a79264f30 /apps/onplay.c
parent5c3bbc6a9c9954778002e379799c701d4900b29e (diff)
downloadrockbox-6387d0352e11bf2f0ed6b29b1fca10d323dd1c6c.tar.gz
rockbox-6387d0352e11bf2f0ed6b29b1fca10d323dd1c6c.zip
FS#13263: Rockbox deletes wrong file
The WPS calls onplay() with a pointer to the path of the current track . We need to make a copy of the path so it isn't affected by track changes. Change-Id: I10a2a93da644932033e01ffbfd85cad20abb555d
Diffstat (limited to 'apps/onplay.c')
-rw-r--r--apps/onplay.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/apps/onplay.c b/apps/onplay.c
index 6f29df57cb..207c43f0a6 100644
--- a/apps/onplay.c
+++ b/apps/onplay.c
@@ -66,6 +66,7 @@
66 66
67static int context; 67static int context;
68static const char *selected_file = NULL; 68static const char *selected_file = NULL;
69static char selected_file_path[MAX_PATH];
69static int selected_file_attr = 0; 70static int selected_file_attr = 0;
70static int onplay_result = ONPLAY_OK; 71static int onplay_result = ONPLAY_OK;
71extern struct menu_item_ex file_menu; /* settings_menu.c */ 72extern struct menu_item_ex file_menu; /* settings_menu.c */
@@ -1856,7 +1857,13 @@ int onplay(char* file, int attr, int from, bool hotkey)
1856 const struct menu_item_ex *menu; 1857 const struct menu_item_ex *menu;
1857 onplay_result = ONPLAY_OK; 1858 onplay_result = ONPLAY_OK;
1858 context = from; 1859 context = from;
1859 selected_file = file; 1860 if (file == NULL)
1861 selected_file = NULL;
1862 else
1863 {
1864 strlcpy(selected_file_path, file, MAX_PATH);
1865 selected_file = selected_file_path;
1866 }
1860 selected_file_attr = attr; 1867 selected_file_attr = attr;
1861 int menu_selection; 1868 int menu_selection;
1862#ifdef HAVE_HOTKEY 1869#ifdef HAVE_HOTKEY