From: Felix Domke Date: Mon, 3 Apr 2006 12:00:39 +0000 (+0000) Subject: catch buggy python code X-Git-Tag: 2.6.0~3739 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/7c4eec27070e8c2cb925117caaf7e9c2c2a754e9 catch buggy python code --- diff --git a/lib/gui/ewidget.cpp b/lib/gui/ewidget.cpp index 3bc6e663..cbc1a8c0 100644 --- a/lib/gui/ewidget.cpp +++ b/lib/gui/ewidget.cpp @@ -100,16 +100,25 @@ void eWidget::show() { if (m_vis & wVisShow) return; - - m_vis |= wVisShow; + m_vis |= wVisShow; + /* TODO: optimize here to only recalc what's required. possibly merge with hide. */ eWidget *root = this; ePoint abspos = position(); while (root && !root->m_desktop) { root = root->m_parent; - assert(root); + if (root) + { + /* oops: our root widget does not have a desktop associated. + probably somebody already erased the root, but tries some + operations on a child window. + + ignore them for now. */ + /* assert(root); */ + return; + } abspos += root->position(); }