aboutsummaryrefslogtreecommitdiff
path: root/lib/service/listboxservice.cpp
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-11-21 20:17:09 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-11-21 20:17:09 +0000
commit265fb595e8767536096985bcfca7d0c36e61b5a0 (patch)
tree98c09d74ea8c49f1e4b86e2168068be5c8940af7 /lib/service/listboxservice.cpp
parent5824a5dd33390117c70ff1cdfdf76afaaaac71ac (diff)
downloadenigma2-265fb595e8767536096985bcfca7d0c36e61b5a0.tar.gz
enigma2-265fb595e8767536096985bcfca7d0c36e61b5a0.zip
small servicelist speedup
Diffstat (limited to 'lib/service/listboxservice.cpp')
-rw-r--r--lib/service/listboxservice.cpp26
1 files changed, 13 insertions, 13 deletions
diff --git a/lib/service/listboxservice.cpp b/lib/service/listboxservice.cpp
index 32b9007f..f5145074 100644
--- a/lib/service/listboxservice.cpp
+++ b/lib/service/listboxservice.cpp
@@ -51,12 +51,10 @@ void eListboxServiceContent::setRoot(const eServiceReference &root, bool justSet
return;
assert(m_service_center);
- ePtr<iListableService> lst;
- if (m_service_center->list(m_root, lst))
+ if (m_service_center->list(m_root, m_lst))
eDebug("no list available!");
- else
- if (lst->getContent(m_list))
- eDebug("getContent failed");
+ else if (m_lst->getContent(m_list))
+ eDebug("getContent failed");
FillFinished();
}
@@ -227,10 +225,11 @@ void eListboxServiceContent::setPixmap(int type, ePtr<gPixmap> &pic)
void eListboxServiceContent::sort()
{
- ePtr<iListableService> lst;
- if (!m_service_center->list(m_root, lst))
+ if (!m_lst)
+ m_service_center->list(m_root, m_lst);
+ if (m_lst)
{
- m_list.sort(iListableServiceCompare(lst));
+ m_list.sort(iListableServiceCompare(m_lst));
/* FIXME: is this really required or can we somehow keep the current entry? */
cursorHome();
if (m_listbox)
@@ -304,13 +303,12 @@ int eListboxServiceContent::setCurrentMarked(bool state)
m_listbox->entryChanged(m_cursor_number);
if (!state)
{
- ePtr<iListableService> lst;
- if (m_service_center->list(m_root, lst))
- eDebug("no list available!");
- else
+ if (!m_lst)
+ m_service_center->list(m_root, m_lst);
+ if (m_lst)
{
ePtr<iMutableServiceList> list;
- if (lst->startEdit(list))
+ if (m_lst->startEdit(list))
eDebug("no editable list");
else
{
@@ -329,6 +327,8 @@ int eListboxServiceContent::setCurrentMarked(bool state)
}
}
}
+ else
+ eDebug("no list available!");
}
}