diff --git a/include/eepp/scene/node.hpp b/include/eepp/scene/node.hpp index b762ac0b2..bfa82f3a0 100644 --- a/include/eepp/scene/node.hpp +++ b/include/eepp/scene/node.hpp @@ -468,7 +468,7 @@ class EE_API Node : public Transformable { SceneNode * findSceneNode(); - void updateDrawInvalidator(); + void updateDrawInvalidator( bool force = false ); }; }} diff --git a/src/eepp/scene/node.cpp b/src/eepp/scene/node.cpp index 1156da635..9884f8e8e 100644 --- a/src/eepp/scene/node.cpp +++ b/src/eepp/scene/node.cpp @@ -194,10 +194,10 @@ Node * Node::getParent() const { return mParentCtrl; } -void Node::updateDrawInvalidator() { +void Node::updateDrawInvalidator( bool force ) { mNodeDrawInvalidator = getDrawInvalidator(); - if ( NULL != mChild && mChild->mNodeDrawInvalidator != mNodeDrawInvalidator ) { + if ( NULL != mChild && ( mChild->mNodeDrawInvalidator != mNodeDrawInvalidator || force ) ) { Node * ChildLoop = mChild; while ( NULL != ChildLoop ) { diff --git a/src/eepp/ui/uiwindow.cpp b/src/eepp/ui/uiwindow.cpp index 92de54b58..d08069801 100644 --- a/src/eepp/ui/uiwindow.cpp +++ b/src/eepp/ui/uiwindow.cpp @@ -261,6 +261,8 @@ void UIWindow::updateWinFlags() { fixChildsSize(); } + updateDrawInvalidator( true ); + if ( isModal() ) { createModalControl(); }