diff --git a/sc2/src/sc2code/libs/graphics/frame.c b/sc2/src/sc2code/libs/graphics/frame.c index 8d6a62bd6..871e2570e 100644 --- a/sc2/src/sc2code/libs/graphics/frame.c +++ b/sc2/src/sc2code/libs/graphics/frame.c @@ -155,20 +155,9 @@ DrawBatch (PPRIMITIVE lpBasePrim, PRIM_LINKS PrimLinks, register TFB_Prim_Point (&lpWorkPrim->Object.Point, &color); break; case STAMP_PRIM: - SrcFramePtr = (FRAMEPTR)(lpWorkPrim->Object.Stamp.frame); - if (SrcFramePtr == 0) - { - continue; - } TFB_Prim_Stamp (&lpWorkPrim->Object.Stamp); break; case STAMPFILL_PRIM: - SrcFramePtr = (FRAMEPTR)(lpWorkPrim->Object.Stamp.frame); - if (SrcFramePtr == 0) - { - continue; - } - c32k = GetPrimColor (lpWorkPrim) >> 8; //shift out color index color.r = (c32k >> (10 - (8 - 5))) & 0xF8; color.g = (c32k >> (5 - (8 - 5))) & 0xF8; diff --git a/sc2/src/sc2code/libs/graphics/tfb_prim.c b/sc2/src/sc2code/libs/graphics/tfb_prim.c index a5040a99c..7ce4e43dd 100644 --- a/sc2/src/sc2code/libs/graphics/tfb_prim.c +++ b/sc2/src/sc2code/libs/graphics/tfb_prim.c @@ -121,6 +121,11 @@ TFB_Prim_Stamp (PSTAMP stmp) int gscale; SrcFramePtr = (PFRAME_DESC)stmp->frame; + if (!SrcFramePtr) + { + fprintf (stderr, "TFB_Prim_Stamp: Tried to draw a NULL frame (Stamp address = %p)\n", stmp); + return; + } img = SrcFramePtr->image; gscale = GetGraphicScale (); @@ -175,6 +180,11 @@ TFB_Prim_StampFill (PSTAMP stmp, TFB_Palette *color) int gscale; SrcFramePtr = (PFRAME_DESC)stmp->frame; + if (!SrcFramePtr) + { + fprintf (stderr, "TFB_Prim_StampFill: Tried to draw a NULL frame (Stamp address = %p)\n", stmp); + return; + } img = SrcFramePtr->image; gscale = GetGraphicScale ();