From bc50fa5c01a26b2c6c613e577c6a55da2ed4ecf8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20Lucas=20Golini?= Date: Thu, 20 Dec 2018 11:01:57 -0300 Subject: [PATCH] Draw invalidation fix. --HG-- branch : dev-stateful-drawable --- include/eepp/scene/node.hpp | 2 +- src/eepp/scene/node.cpp | 4 ++-- src/eepp/ui/uiwindow.cpp | 2 ++ 3 files changed, 5 insertions(+), 3 deletions(-) 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(); }