From 20c1b4fa01cb4632628c34f345830f6d15f08ffb Mon Sep 17 00:00:00 2001 From: danij Date: Mon, 28 Aug 2006 12:59:15 +0000 Subject: [PATCH] Fix seg fault when missing TXT_RENDER_GLOWTEXTURES/TXT_RENDER_GLOWFLATS text strings. --- doomsday/plugins/common/src/g_update.c | 32 +++++++++++++++----------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/doomsday/plugins/common/src/g_update.c b/doomsday/plugins/common/src/g_update.c index 554a62d8d5..1eecfc40b5 100644 --- a/doomsday/plugins/common/src/g_update.c +++ b/doomsday/plugins/common/src/g_update.c @@ -198,25 +198,31 @@ void G_SetGlowing(void) if(!ArgCheck("-noglow")) { - ptr = GET_TXT(TXT_RENDER_GLOWFLATS); // Set some glowing textures. - for(ptr = ScanWord(ptr, buf); *buf; ptr = ScanWord(ptr, buf)) + ptr = GET_TXT(TXT_RENDER_GLOWFLATS); + if(ptr) { - // Is there such a flat? - if(W_CheckNumForName(buf) == -1) - continue; - Set(DD_TEXTURE_GLOW, - DD_TGLOW_PARM(R_FlatNumForName(buf), false, true)); + for(ptr = ScanWord(ptr, buf); *buf; ptr = ScanWord(ptr, buf)) + { + // Is there such a flat? + if(W_CheckNumForName(buf) == -1) + continue; + Set(DD_TEXTURE_GLOW, + DD_TGLOW_PARM(R_FlatNumForName(buf), false, true)); + } } ptr = GET_TXT(TXT_RENDER_GLOWTEXTURES); - for(ptr = ScanWord(ptr, buf); *buf; ptr = ScanWord(ptr, buf)) + if(ptr) { - // Is there such a texture? - if(R_CheckTextureNumForName(buf) == -1) - continue; - Set(DD_TEXTURE_GLOW, - DD_TGLOW_PARM(R_TextureNumForName(buf), true, true)); + for(ptr = ScanWord(ptr, buf); *buf; ptr = ScanWord(ptr, buf)) + { + // Is there such a texture? + if(R_CheckTextureNumForName(buf) == -1) + continue; + Set(DD_TEXTURE_GLOW, + DD_TGLOW_PARM(R_TextureNumForName(buf), true, true)); + } } } }