X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/e0e3801ef273ba3e35a87a57e97967be39caae74..b19b6c15482681e331f346acb56b1566102e1418:/lib/gui/evideo.cpp diff --git a/lib/gui/evideo.cpp b/lib/gui/evideo.cpp index 666fe324..328d95e4 100644 --- a/lib/gui/evideo.cpp +++ b/lib/gui/evideo.cpp @@ -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,11 +31,16 @@ 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) { - char *targets[]={"left", "top", "width", "height"}; + const char *targets[]={"left", "top", "width", "height"}; char filename[128]; snprintf(filename, 128, "/proc/stb/vmpeg/%d/dst_%s", m_decoder, targets[i]); FILE *f = fopen(filename, "w");