From 11cfe887c2d47f67511e7ea296f17181fc3a1786 Mon Sep 17 00:00:00 2001 From: Jonas Kulla Date: Mon, 22 Dec 2014 08:22:45 +0100 Subject: [PATCH] Fix several classes not accepting disposed bitmaps Fixes an error in Alpha Kimori. --- src/sprite.cpp | 2 +- src/window.cpp | 4 ++-- src/windowvx.cpp | 3 +++ 3 files changed, 6 insertions(+), 3 deletions(-) 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;