diff options
author | Andrei Karas <akaras@inbox.ru> | 2013-10-18 19:53:00 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2013-10-19 15:12:21 +0300 |
commit | 8e4604158dfa710aa505fb97f8a6ac9a16e37997 (patch) | |
tree | dd2f78cb5a4086162aae385c29bd33b5a0a0ae1b | |
parent | 639084d63d6b135b880c71e50b9a66fbe8fc31d7 (diff) | |
download | manaverse-8e4604158dfa710aa505fb97f8a6ac9a16e37997.tar.gz manaverse-8e4604158dfa710aa505fb97f8a6ac9a16e37997.tar.bz2 manaverse-8e4604158dfa710aa505fb97f8a6ac9a16e37997.tar.xz manaverse-8e4604158dfa710aa505fb97f8a6ac9a16e37997.zip |
remove virtual method calls from popuplist constructor and destructor.
-rw-r--r-- | src/gui/widgets/dropdown.cpp | 1 | ||||
-rw-r--r-- | src/gui/widgets/popuplist.cpp | 8 | ||||
-rw-r--r-- | src/gui/widgets/popuplist.h | 2 |
3 files changed, 9 insertions, 2 deletions
diff --git a/src/gui/widgets/dropdown.cpp b/src/gui/widgets/dropdown.cpp index 99438a2ce..7c41bbacc 100644 --- a/src/gui/widgets/dropdown.cpp +++ b/src/gui/widgets/dropdown.cpp @@ -76,6 +76,7 @@ DropDown::DropDown(const Widget2 *const widget, mPushed(false), mIsDragged(false) { + mPopup->postInit(); mFrameSize = 2; mForegroundColor2 = getThemeColor(Theme::DROPDOWN_OUTLINE); diff --git a/src/gui/widgets/popuplist.cpp b/src/gui/widgets/popuplist.cpp index 346539348..5fd1e90cd 100644 --- a/src/gui/widgets/popuplist.cpp +++ b/src/gui/widgets/popuplist.cpp @@ -48,6 +48,10 @@ PopupList::PopupList(DropDown *const widget, mListBox->setDistributeMousePressed(true); mScrollArea->setPosition(mPadding, mPadding); +} + +void PopupList::postInit() +{ add(mScrollArea); if (gui) @@ -60,8 +64,8 @@ PopupList::PopupList(DropDown *const widget, PopupList::~PopupList() { - if (getParent()) - getParent()->removeFocusListener(this); + if (mParent) + mParent->removeFocusListener(this); if (gui) gui->removeGlobalFocusListener(this); removeKeyListener(mDropDown); diff --git a/src/gui/widgets/popuplist.h b/src/gui/widgets/popuplist.h index b4575d51e..9d48ba0e7 100644 --- a/src/gui/widgets/popuplist.h +++ b/src/gui/widgets/popuplist.h @@ -44,6 +44,8 @@ class PopupList final : public Popup, A_DELETE_COPY(PopupList) + void postInit() override; + void show(int x, int y); void widgetResized(const gcn::Event &event) override; |