diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-10-28 19:54:36 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-10-28 19:54:36 +0300 |
commit | 34a04d798ed0b4f4b652082da994c8648e4517e6 (patch) | |
tree | b7d98ca0f2b9e187c7eeec92ab60b7f5f25dface /src/gui/widgets/icon.cpp | |
parent | 887a4d50d0c966af5f19e5ed2fe8b5556a6f818d (diff) | |
download | manaplus-34a04d798ed0b4f4b652082da994c8648e4517e6.tar.gz manaplus-34a04d798ed0b4f4b652082da994c8648e4517e6.tar.bz2 manaplus-34a04d798ed0b4f4b652082da994c8648e4517e6.tar.xz manaplus-34a04d798ed0b4f4b652082da994c8648e4517e6.zip |
Add support for images in npc skined menu.
Diffstat (limited to 'src/gui/widgets/icon.cpp')
-rw-r--r-- | src/gui/widgets/icon.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/gui/widgets/icon.cpp b/src/gui/widgets/icon.cpp index 5876b1201..6c44cdc3a 100644 --- a/src/gui/widgets/icon.cpp +++ b/src/gui/widgets/icon.cpp @@ -30,9 +30,11 @@ #include "debug.h" Icon::Icon(const Widget2 *const widget, - const std::string &file) : + const std::string &file, + const AutoRelease autoRelease) : Widget(widget), - mImage(resourceManager->getImage(file)) + mImage(resourceManager->getImage(file)), + mAutoRelease(autoRelease) { if (mImage) { @@ -43,9 +45,11 @@ Icon::Icon(const Widget2 *const widget, } Icon::Icon(const Widget2 *const widget, - Image *const image) : + Image *const image, + const AutoRelease autoRelease) : Widget(widget), - mImage(image) + mImage(image), + mAutoRelease(autoRelease) { if (mImage) { @@ -59,6 +63,8 @@ Icon::~Icon() { if (gui) gui->removeDragged(this); + if (mImage && mAutoRelease == AutoRelease_true) + mImage->decRef(); } void Icon::setImage(Image *const image) |