add 'parent visibility changes' notification and use that to fix video widget
[enigma2.git] / lib / gui / evideo.cpp
index 666fe324ea697c5de97095c2396a9215a4918817..f7f1680370f8b940b7161e687dbea7b3d8f674dd 100644 (file)
@@ -13,8 +13,9 @@ int eVideoWidget::event(int event, void *data, void *data2)
        case evtChangedPosition:
        case evtChangedSize:
        case evtParentChangedPosition:
-               eDebug("position is now ...");
-               updatePosition();
+       case evtParentVisibilityChanged:
+               updatePosition(!isVisible());
+               break;
        }
        return eWidget::event(event, data, data2);
 }
@@ -30,6 +31,11 @@ void eVideoWidget::updatePosition(int disable)
        if (!disable)
                pos = eRect(getAbsolutePosition(), size());
 
+       if (m_cur_pos == pos)
+               return;
+
+       m_cur_pos = pos;
+
        eDebug("position is %d %d -> %d %d", pos.left(), pos.top(), pos.width(), pos.height());
 
        for (int i=0; i<4; ++i)