Cache results of GUIObject::isConditionTrue()
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
Change-Id: Ia50f7c365b2dc0a65ee046bb42972e3594264878
diff --git a/gui/pages.cpp b/gui/pages.cpp
index 73aab03..2953edd 100644
--- a/gui/pages.cpp
+++ b/gui/pages.cpp
@@ -519,13 +519,8 @@
int Page::NotifyVarChange(std::string varName, std::string value)
{
- std::vector<ActionObject*>::iterator iter;
-
- // Don't try to handle a lack of handlers
- if (mActions.size() == 0)
- return 1;
-
- for (iter = mActions.begin(); iter != mActions.end(); ++iter)
+ std::vector<GUIObject*>::iterator iter;
+ for (iter = mObjects.begin(); iter != mObjects.end(); ++iter)
{
if ((*iter)->NotifyVarChange(varName, value))
LOGERR("An action handler errored on NotifyVarChange.\n");
@@ -865,7 +860,10 @@
tmp = FindPackage(name);
if (tmp)
+ {
mCurrentSet = tmp;
+ mCurrentSet->NotifyVarChange("", "");
+ }
else
LOGERR("Unable to find package.\n");