diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index 082081e9..f5ea4032 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -907,7 +907,7 @@ search_desktop_file () { IFS="$orig_IFS" try_remove_file "$PORT_WINE_TMP_PATH/statistics" mv -f "$PORT_WINE_TMP_PATH/statistics_repair" "$PORT_WINE_TMP_PATH/statistics" - search_desktop_file + return 1 fi # Ремонт, если есть пустые строки и непонятные строки без .exe, .bat, .msi, .reg @@ -920,7 +920,7 @@ search_desktop_file () { IFS="$orig_IFS" try_remove_file "$PORT_WINE_TMP_PATH/statistics" mv -f "$PORT_WINE_TMP_PATH/statistics_repair" "$PORT_WINE_TMP_PATH/statistics" - search_desktop_file + return 1 fi # Ремонтирует путь на новый, если вдруг путь до .exe файла битый или изменился, но .exe файл он опознал @@ -945,7 +945,7 @@ search_desktop_file () { # Ремонт, если кто-то сломал время if [[ ! ${line2[2]} =~ ^[0-9]+$ ]] ; then sed -i "/${line2[1]}/d" "$PORT_WINE_TMP_PATH/statistics" - search_desktop_file + return 1 fi ############################### @@ -1019,10 +1019,24 @@ search_desktop_file () { fi fi fi + if [[ -n $PW_TIME_IN_GAME ]] + then return 2 + else return 0 + fi } create_name_desktop () { - search_desktop_file + while true ; do + search_desktop_file + local exit_code=$? + if [[ $exit_code == 0 ]] ; then + break + elif [[ $exit_code == 1 ]] ; then + continue + elif [[ $exit_code == 2 ]] ; then + return 0 + fi + done if [[ -n $DESKTOP_NAME_FILE ]] ; then DESKTOP_NAME_FILE_OLD=$DESKTOP_NAME_FILE unset DESKTOP_NAME_FILE @@ -1720,7 +1734,7 @@ stop_portwine () { if [[ $PW_LOG != 1 ]] && [[ -n $START_PW_TIME_IN_GAME ]] ; then debug_timer --end -s "PW_TIME_IN_GAME" PW_TIME_IN_GAME=$(( PW_TIME_IN_GAME / 1000 )) # в секундах - search_desktop_file + create_name_desktop fi case "$1" in