X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/ea860c22b5cd111d11790d6b8d3f2e04f6f3b084..7a2b79adb5fc43d08663faaf95a72f2899751ab1:/lib/service/listboxservice.cpp diff --git a/lib/service/listboxservice.cpp b/lib/service/listboxservice.cpp index f136d70a..05aaf731 100644 --- a/lib/service/listboxservice.cpp +++ b/lib/service/listboxservice.cpp @@ -67,7 +67,7 @@ void eListboxServiceContent::setRoot(const eServiceReference &root, bool justSet m_lst=0; return; } - assert(m_service_center); + ASSERT(m_service_center); if (m_service_center->list(m_root, m_lst)) eDebug("no list available!"); @@ -528,7 +528,7 @@ void eListboxServiceContent::paint(gPainter &painter, eWindowStyle &style, const eServiceReference ref = *m_cursor; bool isPlayable = !(ref.flags & eServiceReference::isDirectory || ref.flags & eServiceReference::isMarker); - if (!marked && isPlayable && service_info && !service_info->isPlayable(*m_cursor, m_is_playable_ignore)) + if (!marked && isPlayable && service_info && m_is_playable_ignore.valid() && !service_info->isPlayable(*m_cursor, m_is_playable_ignore)) { if (m_color_set[serviceNotAvail]) painter.setForegroundColor(m_color[serviceNotAvail]); @@ -584,7 +584,7 @@ void eListboxServiceContent::paint(gPainter &painter, eWindowStyle &style, const case celServiceInfo: { ePtr evt; - if ( service_info && !service_info->getEvent(*m_cursor, evt) ) + if ( isPlayable && service_info && !service_info->getEvent(*m_cursor, evt) ) { std::string name = evt->getEventName(); if (!name.length()) @@ -690,6 +690,8 @@ void eListboxServiceContent::paint(gPainter &painter, eWindowStyle &style, const void eListboxServiceContent::setIgnoreService( const eServiceReference &service ) { m_is_playable_ignore=service; + if (m_listbox && m_listbox->isVisible()) + m_listbox->invalidate(); } void eListboxServiceContent::setItemHeight(int height)