fixed compiler warning by adding missing variable initialization
[rocksndiamonds.git] / src / screens.c
index b13890a1c380161681c9c8f1a387035a83cfd94f..0a63c2e40cb9575d5c65eecd94b3d75092cc2d06 100644 (file)
@@ -6581,6 +6581,8 @@ static boolean ConfigureJoystickMapButtonsAndAxes(SDL_Joystick *joystick)
     axis_x     = LoadCustomImage("joystick/axis_x.png");
     axis_y     = LoadCustomImage("joystick/axis_y.png");
 
+    marker = button;   /* initialize with reliable default value */
+
     bitmaps_initialized = TRUE;
   }
 
@@ -6777,14 +6779,19 @@ static boolean ConfigureJoystickMapButtonsAndAxes(SDL_Joystick *joystick)
            if (event.key.keysym.sym == KSYM_BackSpace ||
                event.key.keysym.sym == KSYM_Back)
            {
-             /* undo this step */
-             if (i > 0)
+             if (i == 0)
              {
-               prev_step = &steps[--i];
-               strcpy(mapping, prev_step->mapping);
-               next = TRUE;
+               /* leave screen */
+               success = FALSE;
+               done = TRUE;
              }
 
+             /* undo this step */
+             prev_step = &steps[i - 1];
+             strcpy(mapping, prev_step->mapping);
+             i--;
+             next = TRUE;
+
              break;
            }
 
@@ -6801,6 +6808,7 @@ static boolean ConfigureJoystickMapButtonsAndAxes(SDL_Joystick *joystick)
 
            if (event.key.keysym.sym == KSYM_Escape)
            {
+             /* leave screen */
              success = FALSE;
              done = TRUE;
            }