diff --git a/Generals/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DDisplay.cpp b/Generals/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DDisplay.cpp index 8f800450673..d17838e30a0 100644 --- a/Generals/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DDisplay.cpp +++ b/Generals/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DDisplay.cpp @@ -2545,9 +2545,17 @@ void W3DDisplay::drawImage( const Image *image, Int startX, Int startY, // if we have raw texture data we will use it, otherwise we are referencing filenames if( BitIsSet( image->getStatus(), IMAGE_STATUS_RAW_TEXTURE ) ) + { + if( image->getRawTextureData() == nullptr ) + return; m_2DRender->Set_Texture( (TextureClass *)(image->getRawTextureData()) ); + } else + { + if( image->getFilename().isEmpty() ) + return; m_2DRender->Set_Texture( image->getFilename().str() ); + } RectClass screen_rect(startX,startY,endX,endY); RectClass uv_rect(uv->lo.x,uv->lo.y,uv->hi.x,uv->hi.y); diff --git a/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DDisplay.cpp b/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DDisplay.cpp index b6a293713a3..1e0e7ccb9ac 100644 --- a/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DDisplay.cpp +++ b/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DDisplay.cpp @@ -2652,9 +2652,17 @@ void W3DDisplay::drawImage(const Image* image, Int startX, Int startY, // if we have raw texture data we will use it, otherwise we are referencing filenames if (BitIsSet(image->getStatus(), IMAGE_STATUS_RAW_TEXTURE)) + { + if (image->getRawTextureData() == nullptr) + return; m_2DRender->Set_Texture((TextureClass*)(image->getRawTextureData())); + } else + { + if (image->getFilename().isEmpty()) + return; m_2DRender->Set_Texture(image->getFilename().str()); + } RectClass screen_rect(startX, startY, endX, endY); RectClass uv_rect(uv->lo.x, uv->lo.y, uv->hi.x, uv->hi.y);