fix of a very rare edgecase in which thread_top get the wrong mid_dir.current_file->file_name
This commit is contained in:
@@ -187,15 +187,19 @@ void dir_changed(){
|
|||||||
}
|
}
|
||||||
void move_down(unsigned long passes){
|
void move_down(unsigned long passes){
|
||||||
|
|
||||||
/*bounds checking happens within thread_mid*/
|
|
||||||
mid_dir.current_file += passes;
|
mid_dir.current_file += passes;
|
||||||
|
if (mid_dir.current_file > mid_dir.file_list + mid_dir.file_count - 1) {
|
||||||
|
mid_dir.current_file = mid_dir.file_list + mid_dir.file_count - 1;
|
||||||
|
}
|
||||||
|
|
||||||
status |= (STATUS_RUN_BACKEND);
|
status |= (STATUS_RUN_BACKEND);
|
||||||
}
|
}
|
||||||
void move_up(unsigned long passes){
|
void move_up(unsigned long passes){
|
||||||
|
|
||||||
/*bounds checking happens within thread_mid*/
|
|
||||||
mid_dir.current_file -= passes;
|
mid_dir.current_file -= passes;
|
||||||
|
if (mid_dir.current_file < mid_dir.file_list) {
|
||||||
|
mid_dir.current_file = mid_dir.file_list;
|
||||||
|
}
|
||||||
|
|
||||||
status |= (STATUS_RUN_BACKEND);
|
status |= (STATUS_RUN_BACKEND);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user