summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gui/action.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/gui/action.cpp b/gui/action.cpp
index 97d95f170..265d6de0f 100644
--- a/gui/action.cpp
+++ b/gui/action.cpp
@@ -995,15 +995,19 @@ int GUIAction::flash(std::string arg)
// We're going to jump to this page first, like a loading page
gui_changePage(arg);
for (i=0; i<zip_queue_index; i++) {
+ string zip_path = zip_queue[i];
+ size_t slashpos = zip_path.find_last_of('/');
+ string zip_filename = (slashpos == string::npos) ? zip_path : zip_path.substr(slashpos + 1);
operation_start("Flashing");
- DataManager::SetValue("tw_filename", zip_queue[i]);
+ DataManager::SetValue("tw_filename", zip_path);
+ DataManager::SetValue("tw_file", zip_filename);
DataManager::SetValue(TW_ZIP_INDEX, (i + 1));
TWFunc::SetPerformanceMode(true);
- ret_val = flash_zip(zip_queue[i], &wipe_cache);
+ ret_val = flash_zip(zip_path, &wipe_cache);
TWFunc::SetPerformanceMode(false);
if (ret_val != 0) {
- gui_print("Error flashing zip '%s'\n", zip_queue[i].c_str());
+ gui_print("Error flashing zip '%s'\n", zip_path.c_str());
ret_val = 1;
break;
}