X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/325d00ce4ba8a2b239b0837e878d5c2721e5682a..cecd9068fcba09234232399748d4a55ed7574e4b:/lib/service/listboxservice.cpp diff --git a/lib/service/listboxservice.cpp b/lib/service/listboxservice.cpp index 10f57565..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,9 +690,11 @@ 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(); } -int eListboxServiceContent::setItemHeight(int height) +void eListboxServiceContent::setItemHeight(int height) { m_itemheight = height; if (m_listbox)