From b8fb6ea53b93a75de84d8fc2e29495881c6527a7 Mon Sep 17 00:00:00 2001 From: wr61 Date: Wed, 9 Feb 2005 22:39:22 +0000 Subject: fix segfault in mgSelection::enter, fix order in collections git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk@469 e10066b5-e1e2-0310-b819-94efdf66514b --- muggle-plugin/mg_db.c | 2 ++ muggle-plugin/mg_order.c | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'muggle-plugin') diff --git a/muggle-plugin/mg_db.c b/muggle-plugin/mg_db.c index cba9baf..aa84ef4 100644 --- a/muggle-plugin/mg_db.c +++ b/muggle-plugin/mg_db.c @@ -1012,6 +1012,8 @@ bool mgSelection::enter (unsigned int position) return false; setPosition (position); position = gotoPosition(); // reload adjusted position + if (values.size()==0) + return false; string value = values[position]; string id = m_ids[position]; mgSelStrings prev; diff --git a/muggle-plugin/mg_order.c b/muggle-plugin/mg_order.c index cc93141..93463b5 100644 --- a/muggle-plugin/mg_order.c +++ b/muggle-plugin/mg_order.c @@ -625,7 +625,7 @@ operator==(const mgOrder& a, const mgOrder &b) const mgOrder& mgOrder::operator=(const mgOrder& from) { - Keys.clear(); + clear(); for (unsigned int i = 0; i < from.size();i++) { mgKey *k = ktGenerate(from.getKeyType(i),m_db); @@ -811,7 +811,8 @@ cleanagain: goto cleanagain; } } - if (!is_unique) + bool IsCollection = size()==0 ? false : Keys[0]->Type()==keyCollection; + if (!IsCollection && !is_unique) { if (!album_found) Keys.push_back(ktGenerate(keyAlbum,m_db)); -- cgit v1.2.3