summaryrefslogtreecommitdiff
path: root/src/gui/widgets/dropdown.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2012-07-12 11:01:25 +0300
committerAndrei Karas <akaras@inbox.ru>2012-07-13 01:02:41 +0300
commit14a9a1da30ca772efd42a9ce6662a11b102818bc (patch)
treed19264fc77a677b0a25e989119dfbddb1ff14773 /src/gui/widgets/dropdown.cpp
parentf42921c0597101b5d6f10afa68d0ffc6f6d1a66f (diff)
downloadplus-14a9a1da30ca772efd42a9ce6662a11b102818bc.tar.gz
plus-14a9a1da30ca772efd42a9ce6662a11b102818bc.tar.bz2
plus-14a9a1da30ca772efd42a9ce6662a11b102818bc.tar.xz
plus-14a9a1da30ca772efd42a9ce6662a11b102818bc.zip
Fix leaks after last commit.
Diffstat (limited to 'src/gui/widgets/dropdown.cpp')
-rw-r--r--src/gui/widgets/dropdown.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gui/widgets/dropdown.cpp b/src/gui/widgets/dropdown.cpp
index 8727f940f..8b5f81e6b 100644
--- a/src/gui/widgets/dropdown.cpp
+++ b/src/gui/widgets/dropdown.cpp
@@ -115,6 +115,19 @@ DropDown::DropDown(gcn::ListModel *listModel, gcn::ActionListener* listener,
DropDown::~DropDown()
{
instances--;
+ if (instances == 0)
+ {
+ for (int f = 0; f < 2; f ++)
+ {
+ for (int i = 0; i < 2; i ++)
+ {
+ if (buttons[f][i])
+ buttons[f][i]->decRef();
+ }
+ }
+ if (Theme::instance())
+ Theme::instance()->unloadRect(skin);
+ }
delete mScrollArea;
mScrollArea = nullptr;
}