summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-05-22 19:01:09 +0300
committerAndrei Karas <akaras@inbox.ru>2015-05-23 18:22:20 +0300
commitc44828b14dce7e00ca01791eecf2bc452ee4cb00 (patch)
tree99f48dd01f141b8e79254255788b80efaf8a0111
parent56b646e26907f2ecd81920729cfeab123c6fc1aa (diff)
downloadplus-c44828b14dce7e00ca01791eecf2bc452ee4cb00.tar.gz
plus-c44828b14dce7e00ca01791eecf2bc452ee4cb00.tar.bz2
plus-c44828b14dce7e00ca01791eecf2bc452ee4cb00.tar.xz
plus-c44828b14dce7e00ca01791eecf2bc452ee4cb00.zip
Add check in windows for posInit() calls.
If postInit() was not called show error in log.
-rw-r--r--src/gui/widgets/window.cpp8
-rw-r--r--src/gui/widgets/window.h4
2 files changed, 9 insertions, 3 deletions
diff --git a/src/gui/widgets/window.cpp b/src/gui/widgets/window.cpp
index cd526db98..53bf92cc0 100644
--- a/src/gui/widgets/window.cpp
+++ b/src/gui/widgets/window.cpp
@@ -150,7 +150,8 @@ Window::Window(const std::string &caption,
mStickyButton(false),
mSticky(false),
mStickyButtonLock(false),
- mPlayVisibleSound(false)
+ mPlayVisibleSound(false),
+ mInit(false)
{
logger->log("Window::Window(\"%s\")", caption.c_str());
@@ -261,6 +262,11 @@ Window::~Window()
mGrip->decRef();
mGrip = nullptr;
}
+ if (!mInit)
+ {
+ logger->log("error: Window created without calling postInit(): "
+ + mWindowName);
+ }
}
void Window::setWindowContainer(WindowContainer *const wc)
diff --git a/src/gui/widgets/window.h b/src/gui/widgets/window.h
index 386b7e16b..83f88f726 100644
--- a/src/gui/widgets/window.h
+++ b/src/gui/widgets/window.h
@@ -286,8 +286,7 @@ class Window notfinal : public BasicContainer2,
{ mSaveVisible = save; }
virtual void postInit()
- {
- }
+ { mInit = true; }
/**
* Returns the parent window.
@@ -705,6 +704,7 @@ class Window notfinal : public BasicContainer2,
bool mSticky; /**< Window resists hiding*/
bool mStickyButtonLock; /**< Window locked if sticky enabled*/
bool mPlayVisibleSound;
+ bool mInit;
};
#endif // GUI_WIDGETS_WINDOW_H