]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Menu Profile: make work the Apply button on name change in DP master
authorterencehill <piuntn@gmail.com>
Tue, 28 Dec 2021 17:24:36 +0000 (18:24 +0100)
committerterencehill <piuntn@gmail.com>
Tue, 28 Dec 2021 17:24:36 +0000 (18:24 +0100)
qcsrc/menu/xonotic/dialog_multiplayer_profile.qc

index e885ee0b0de1e42b1213d463c3bd851ff8391281..402a2c88b5d2c5b269cb1351b4eeb123b167e4b3 100644 (file)
@@ -48,11 +48,24 @@ void XonoticProfileTab_draw(entity me)
        {
                // name field
                string inputName  = cvar_string(MENU_CVAR_NAME);
+               // WORKAROUND
+               // in DP master when the Apply button is pressed cmd("_cl_name $_menu_cl_name") takes 2 frames
+               // to update _cl_name, so in the following code we have to delay the update of _menu_cl_name
+               // by one frame to avoid setting _menu_cl_name to the old _cl_name value
+               static bool name_changed;
                if (name != inputName)
                {
-                       cvar_set(MENU_CVAR_NAME, name);
-                       me.nameInput.loadCvars(me.nameInput);
+                       if (name_changed == false)
+                               name_changed = true; // don't update _menu_cl_name this frame
+                       else
+                       {
+                               cvar_set(MENU_CVAR_NAME, name);
+                               me.nameInput.loadCvars(me.nameInput);
+                               name_changed = false;
+                       }
                }
+               else
+                       name_changed = false;
 
                // color buttons
                string color = cvar_string("_cl_color");