diff options
| author | wr61 <wr61@e10066b5-e1e2-0310-b819-94efdf66514b> | 2005-02-09 22:39:22 +0000 |
|---|---|---|
| committer | wr61 <wr61@e10066b5-e1e2-0310-b819-94efdf66514b> | 2005-02-09 22:39:22 +0000 |
| commit | b8fb6ea53b93a75de84d8fc2e29495881c6527a7 (patch) | |
| tree | db23f5a10d46a760566276f0952c52bde108517f | |
| parent | c97715f75d050c51654d83182f683f3ddf208b66 (diff) | |
| download | vdr-plugin-muggle-b8fb6ea53b93a75de84d8fc2e29495881c6527a7.tar.gz vdr-plugin-muggle-b8fb6ea53b93a75de84d8fc2e29495881c6527a7.tar.bz2 | |
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
| -rw-r--r-- | muggle-plugin/mg_db.c | 2 | ||||
| -rw-r--r-- | muggle-plugin/mg_order.c | 5 |
2 files changed, 5 insertions, 2 deletions
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)); |
