[Change] Cleanups.

This commit is contained in:
Allanis 2013-04-03 19:45:49 +01:00
parent 3da2a4086b
commit 67dba8aaeb
4 changed files with 23 additions and 8 deletions

View File

@ -8,8 +8,8 @@
</credits> </credits>
<system> <system>
<name>KonoSys</name> <name>KonoSys</name>
<x>100</x> <x>0</x>
<y>75</y> <y>0</y>
</system> </system>
</player> </player>
</Start> </Start>

View File

@ -158,6 +158,7 @@ static void commodity_exchange(void) {
static void commodity_exchange_close(char* str) { static void commodity_exchange_close(char* str) {
if(strcmp(str, "btnCommodityClose")==0) if(strcmp(str, "btnCommodityClose")==0)
window_destroy(secondary_wid); window_destroy(secondary_wid);
secondary_wid = 0;
} }
static void commodity_update(char* str) { static void commodity_update(char* str) {
@ -292,6 +293,7 @@ static void outfits(void) {
static void outfits_close(char* str) { static void outfits_close(char* str) {
if(strcmp(str, "btnCloseOutfits")==0) if(strcmp(str, "btnCloseOutfits")==0)
window_destroy(secondary_wid); window_destroy(secondary_wid);
secondary_wid = 0;
} }
static void outfits_update(char* str) { static void outfits_update(char* str) {
@ -483,6 +485,7 @@ static void shipyard(void) {
static void shipyard_close(char* str) { static void shipyard_close(char* str) {
if(strcmp(str, "btnCloseShipyard")==0) if(strcmp(str, "btnCloseShipyard")==0)
window_destroy(secondary_wid); window_destroy(secondary_wid);
secondary_wid = 0;
} }
static void shipyard_update(char* str) { static void shipyard_update(char* str) {
@ -610,6 +613,7 @@ static void shipyard_yours(char* str) {
static void shipyard_yoursClose(char* str) { static void shipyard_yoursClose(char* str) {
(void)str; (void)str;
window_destroy(terciary_wid); window_destroy(terciary_wid);
terciary_wid = 0;
} }
static void shipyard_yoursUpdate(char* str) { static void shipyard_yoursUpdate(char* str) {
@ -768,6 +772,7 @@ static void spaceport_bar(void) {
static void spaceport_bar_close(char* str) { static void spaceport_bar_close(char* str) {
if(strcmp(str, "btnCloseBar")==0) if(strcmp(str, "btnCloseBar")==0)
window_destroy(secondary_wid); window_destroy(secondary_wid);
secondary_wid = 0;
} }
// Planet news reports. // Planet news reports.
@ -788,6 +793,7 @@ static void news(void) {
static void news_close(char* str) { static void news_close(char* str) {
if(strcmp(str, "btnCloseNews")==0) if(strcmp(str, "btnCloseNews")==0)
window_destroy(terciary_wid); window_destroy(terciary_wid);
terciary_wid = 0;
} }
// Mission computer, cos' missions rule! // Mission computer, cos' missions rule!
@ -822,6 +828,7 @@ static void misn(void) {
static void misn_close(char* str) { static void misn_close(char* str) {
if(strcmp(str, "btnCloseMission")==0) if(strcmp(str, "btnCloseMission")==0)
window_destroy(secondary_wid); window_destroy(secondary_wid);
secondary_wid = 0;
} }
static void misn_accept(char* str) { static void misn_accept(char* str) {
@ -837,6 +844,7 @@ static void misn_accept(char* str) {
if(mission_computer[i].title && if(mission_computer[i].title &&
(strcmp(misn_name, mission_computer[i].title)==0)) { (strcmp(misn_name, mission_computer[i].title)==0)) {
mission_accept(&mission_computer[i]); mission_accept(&mission_computer[i]);
misn_genList(0);
return; return;
} }
} }
@ -856,8 +864,10 @@ static void misn_genList(int first) {
for(i = 0; i < mission_ncomputer; i++) for(i = 0; i < mission_ncomputer; i++)
if(mission_computer[i].title) if(mission_computer[i].title)
misn_names[j++] = strdup(mission_computer[i].title); misn_names[j++] = strdup(mission_computer[i].title);
} else { }
if((mission_ncomputer == 0) || (j == 0)) {
// No missions. // No missions.
if(j == 0) free(misn_names);
misn_names = malloc(sizeof(char*)); misn_names = malloc(sizeof(char*));
misn_names[0] = strdup("No Missions"); misn_names[0] = strdup("No Missions");
} }

View File

@ -101,11 +101,11 @@ void mission_accept(Mission* mission) {
// Clean up a mission. // Clean up a mission.
void mission_cleanup(Mission* misn) { void mission_cleanup(Mission* misn) {
hook_rmParent(misn->id); // Remove existing hooks. if(misn->id) hook_rmParent(misn->id); // Remove existing hooks.
if(misn->title) free(misn->title); if(misn->title) free(misn->title);
if(misn->desc) free(misn->desc); if(misn->desc) free(misn->desc);
if(misn->reward) free(misn->reward); if(misn->reward) free(misn->reward);
lua_close(misn->L); if(misn->L) lua_close(misn->L);
memset(misn, 0, sizeof(Mission)); memset(misn, 0, sizeof(Mission));
} }

View File

@ -563,6 +563,11 @@ void window_destroyWidget(unsigned int wid, const char* wgtname) {
Window* w = window_wget(wid); Window* w = window_wget(wid);
int i; int i;
if(w == NULL) {
WARN("Window %d does not exist", wid);
return;
}
for(i = 0; i < w->nwidgets; i++) for(i = 0; i < w->nwidgets; i++)
if(strcmp(wgtname, w->widgets[i].name)==0) if(strcmp(wgtname, w->widgets[i].name)==0)
break; break;