CComponentsForm/PIP: ensure hiding of minitv during hide of forms

Handling of minitv items are different to other item types
and need an explizit call of hide(). So it is possible to hide a form-
object without a extra call of hide() for minitv objects.
This commit is contained in:
2013-03-14 22:00:29 +01:00
parent d87d0754e0
commit 69476903ee
2 changed files with 15 additions and 5 deletions

View File

@@ -281,6 +281,16 @@ void CComponentsForm::paintCCItems()
void CComponentsForm::hide(bool no_restore)
{
// hack: ensure hiding of minitv during hide of forms and inherited classes,
// because the handling of minitv items are different to other item types
// and need an explizit call of hide()
for(size_t i=0; i<v_cc_items.size(); i++) {
if (v_cc_items[i]->getItemType() == CComponentsItem::CC_ITEMTYPE_PIP){
v_cc_items[i]->hide();
break;
}
}
//hide body
hideCCItem(no_restore);
}

View File

@@ -64,10 +64,10 @@ CComponentsPIP::CComponentsPIP( const int x_pos, const int y_pos, const int perc
CComponentsPIP::~CComponentsPIP()
{
hide();
clearSavedScreen();
clear();
videoDecoder->Pig(-1, -1, -1, -1);
hide();
videoDecoder->Pig(-1, -1, -1, -1);
clearSavedScreen();
clear();
}
void CComponentsPIP::paint(bool do_save_bg)
@@ -79,6 +79,6 @@ void CComponentsPIP::paint(bool do_save_bg)
void CComponentsPIP::hide(bool no_restore)
{
hideCCItem(no_restore);
videoDecoder->Pig(-1, -1, -1, -1);
hideCCItem(no_restore);
}