fixed bug with using same player UUID for new player with same setup values
[rocksndiamonds.git] / src / screens.c
index 641b3a13abce20244b84e4a6aef735221892908c..0cb8a2b017ab8d05e10f0f757a353c17d4d158ab 100644 (file)
@@ -2232,9 +2232,13 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button)
        SaveLevelSetup_LastSeries();
        SaveLevelSetup_SeriesInfo();
 
+#if defined(PLATFORM_EMSCRIPTEN)
+       Request("Close the browser window to quit!", REQ_CONFIRM);
+#else
        if (!setup.ask_on_quit_program ||
            Request("Do you really want to quit?", REQ_ASK | REQ_STAY_CLOSED))
          SetGameStatus(GAME_MODE_QUIT);
+#endif
       }
     }
   }
@@ -4222,8 +4226,7 @@ static int ApiRenamePlayerThread(void *data_raw)
 
 static void ApiRenamePlayerAsThread(void)
 {
-  struct ApiRenamePlayerThreadData *data =
-    CreateThreadData_ApiRenamePlayer();
+  struct ApiRenamePlayerThreadData *data = CreateThreadData_ApiRenamePlayer();
 
   ExecuteAsThread(ApiRenamePlayerThread,
                  "ApiRenamePlayer", data,
@@ -4357,6 +4360,8 @@ static void setTypeNameValues(char *name, struct TextPosInfo *pos,
     if (!create_user ||
        !Request("Use current setup values for the new player?", REQ_ASK))
       LoadSetup();
+    else
+      setup.player_uuid = getStringCopy(getUUID());
   }
 
   char *setup_filename = getSetupFilename();