From 6d6479e4a9b4727ee81ef4c8410bef470c699834 Mon Sep 17 00:00:00 2001 From: Eduardo Bart Date: Thu, 3 Nov 2011 17:32:50 -0200 Subject: [PATCH] fix tooltip crash --- modules/core/tooltip/tooltip.lua | 1 + src/framework/ui/uiwidget.cpp | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/core/tooltip/tooltip.lua b/modules/core/tooltip/tooltip.lua index b263fff4..66e84347 100644 --- a/modules/core/tooltip/tooltip.lua +++ b/modules/core/tooltip/tooltip.lua @@ -29,6 +29,7 @@ function ToolTip.display(text) size.width = size.width + 4 size.height = size.height + 4 currentToolTip:setSize(size) + moveToolTip(currentToolTip) end end diff --git a/src/framework/ui/uiwidget.cpp b/src/framework/ui/uiwidget.cpp index c26b424b..8f1c0756 100644 --- a/src/framework/ui/uiwidget.cpp +++ b/src/framework/ui/uiwidget.cpp @@ -639,7 +639,9 @@ void UIWidget::updateState(Fw::WidgetState state) } if(updateChildren) { - for(const UIWidgetPtr& child : m_children) + // do a backup of children list, because it may change while looping it + UIWidgetList children = m_children; + for(const UIWidgetPtr& child : children) child->updateState(state); } @@ -843,7 +845,6 @@ void UIWidget::onStyleApply(const OTMLNodePtr& styleNode) } } else if(node->tag() == "onClick" || node->tag() == "onHoverChange") { - dump << node->tag(); g_lua.loadFunction(node->value(), "@" + node->source() + "[" + node->tag() + "]"); luaSetField(node->tag()); }