diff --git a/src/sprite.cpp b/src/sprite.cpp index 49d9f29..9603099 100644 --- a/src/sprite.cpp +++ b/src/sprite.cpp @@ -332,7 +332,7 @@ void Sprite::setBitmap(Bitmap *bitmap) p->bitmap = bitmap; - if (!bitmap) + if (nullOrDisposed(bitmap)) return; bitmap->ensureNonMega(); diff --git a/src/window.cpp b/src/window.cpp index 6b94586..0e78521 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -727,7 +727,7 @@ void Window::setWindowskin(Bitmap *value) p->windowskin = value; - if (!value) + if (nullOrDisposed(value)) return; value->ensureNonMega(); @@ -743,7 +743,7 @@ void Window::setContents(Bitmap *value) p->contents = value; p->controlsVertDirty = true; - if (!value) + if (nullOrDisposed(value)) return; value->ensureNonMega(); diff --git a/src/windowvx.cpp b/src/windowvx.cpp index 84f5ab8..9af98ad 100644 --- a/src/windowvx.cpp +++ b/src/windowvx.cpp @@ -921,6 +921,9 @@ void WindowVX::setContents(Bitmap *value) p->contents = value; + if (nullOrDisposed(value)) + return; + FloatRect rect = p->contents->rect(); p->contentsQuad.setTexPosRect(rect, rect); p->ctrlVertDirty = true;