Hallo!
-
Hast Du schon mal einen Debugger bemüht und einen Breakpoint auf das SDL_Quit gesetzt?
atexit(irgendwas);
/*und
später */
irgendwas();
riecht nach nach einem free() auf einen nicht genullten Zeiger auf dem schon mal free() aufgerufen wurde.
-
Wieviele Threads hat das Programm?
-
Solche "Spaghetti"
font1_16 = TTF_OpenFont("data/verdana.ttf", 16); if(font1_16 == NULL) { writeLog("Couldn't load TTF-File: \"data/verdana.ttf\"", LOG_WARNING); return EXIT_FAILURE; }
/* [...] */
font2_56 = TTF_OpenFont("data/comic.ttf", 56); if(font2_56 == NULL) { writeLog("Couldn't load TTF-File: \"data/comic.ttf\"", LOG_WARNING); return EXIT_FAILURE; }
machen den code nicht gerade wartungsfreundlich; es gibt Arrays, Schleifen etc. und falls Du C++ verwendest auch noch vector, map, iterator....
Grüsse
Solkar