Index: mythtv/libs/libmythui/mythuitype.cpp =================================================================== --- mythtv/libs/libmythui/mythuitype.cpp (revision 19653) +++ mythtv/libs/libmythui/mythuitype.cpp (working copy) @@ -464,8 +464,14 @@ return m_DirtyRegion; } -bool MythUIType::IsVisible(void) const +bool MythUIType::IsVisible(bool recurse) const { + if (recurse) + { + if (m_Parent && !m_Parent->IsVisible(recurse)) + return false; + } + return m_Visible; } @@ -586,16 +592,12 @@ void MythUIType::Hide(void) { - m_Visible = false; - SetRedraw(); - emit Hiding(); + SetVisible(false); } void MythUIType::Show(void) { - m_Visible = true; - SetRedraw(); - emit Showing(); + SetVisible(true); } void MythUIType::AddFocusableChildrenToList(QMap &focusList) Index: mythtv/libs/libmythui/mythuitype.h =================================================================== --- mythtv/libs/libmythui/mythuitype.h (revision 19653) +++ mythtv/libs/libmythui/mythuitype.h (working copy) @@ -88,7 +88,7 @@ virtual QRegion GetDirtyArea(void) const; - bool IsVisible(void) const; + bool IsVisible(bool recurse = false) const; void SetVisible(bool visible); void MoveTo(QPoint destXY, QPoint speedXY);