Free Hero Mesh

Check-in [3b07da3314]
Login
This is a mirror of the main repository for Free Hero Mesh. New tickets and changes will not be accepted at this mirror.
Overview
Comment:Avoid segfault in level strings list, when trying to edit or select non-existing strings.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 3b07da3314ff832d7fa1124da4fbc63313afb3ff
User & Date: user on 2021-08-05 18:34:22
Other Links: manifest | tags
Context
2021-08-30
05:16
In the class/image selection menu, ensure that the selected item will be scrolled into view when changing the selection. check-in: c2f30f9949 user: user tags: trunk
2021-08-05
18:34
Avoid segfault in level strings list, when trying to edit or select non-existing strings. check-in: 3b07da3314 user: user tags: trunk
2021-07-23
03:32
Use a SQL trigger to delete cache sets. check-in: e8493ef846 user: user tags: trunk
Changes

Modified edit.c from [a68bdbab0e] to [3dcea60d30].

1372
1373
1374
1375
1376
1377
1378
1379
1380


1381
1382
1383
1384
1385
1386
1387
1372
1373
1374
1375
1376
1377
1378


1379
1380
1381
1382
1383
1384
1385
1386
1387







-
-
+
+







          case SDLK_5: case SDLK_KP5: n=10*n+5; break;
          case SDLK_6: case SDLK_KP6: n=10*n+6; break;
          case SDLK_7: case SDLK_KP7: n=10*n+7; break;
          case SDLK_8: case SDLK_KP8: n=10*n+8; break;
          case SDLK_9: case SDLK_KP9: n=10*n+9; break;
          case SDLK_BACKSPACE: n/=10; break;
          case SDLK_ESCAPE: return -1;
          case SDLK_RETURN: case SDLK_KP_ENTER: if(n<nlevelstrings) return n;
          case SDLK_SPACE: edit_string(levelstrings+n); break;
          case SDLK_RETURN: case SDLK_KP_ENTER: if(n<nlevelstrings) return n; break;
          case SDLK_SPACE: if(n<nlevelstrings) edit_string(levelstrings+n); break;
          case SDLK_INSERT:
            if(nlevelstrings<0x2000) {
              levelstrings=realloc(levelstrings,(nlevelstrings+1)*sizeof(unsigned char*));
              if(!levelstrings) fatal("Allocation failed\n");
              levelstrings[n=nlevelstrings++]=strdup("");
              if(!levelstrings[n]) fatal("Allocation failed\n");
              edit_string(levelstrings+n);