diff --git a/src/guiscalingfilter.cpp b/src/guiscalingfilter.cpp index 33e0648ad..26a2265a8 100644 --- a/src/guiscalingfilter.cpp +++ b/src/guiscalingfilter.cpp @@ -72,7 +72,8 @@ video::ITexture *guiScalingResizeCached(video::IVideoDriver *driver, video::ITexture *src, const core::rect &srcrect, const core::rect &destrect) { - + if (src == NULL) + return src; if (!g_settings->getBool("gui_scaling_filter")) return src; @@ -139,6 +140,8 @@ video::ITexture *guiScalingResizeCached(video::IVideoDriver *driver, video::ITexture *guiScalingImageButton(video::IVideoDriver *driver, video::ITexture *src, s32 width, s32 height) { + if (src == NULL) + return src; return guiScalingResizeCached(driver, src, core::rect(0, 0, src->getSize().Width, src->getSize().Height), core::rect(0, 0, width, height)); @@ -154,6 +157,8 @@ void draw2DImageFilterScaled(video::IVideoDriver *driver, video::ITexture *txr, { // Attempt to pre-scale image in software in high quality. video::ITexture *scaled = guiScalingResizeCached(driver, txr, srcrect, destrect); + if (scaled == NULL) + return; // Correct source rect based on scaled image. const core::rect mysrcrect = (scaled != txr)