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 | 01fb6ca159328f4c6d32098098d50d805975d777 (patch) | |
tree | 0e14ca95dfa7014043576b390639ab9087ae8d47 | |
parent | 7b0db96df1380ea1eea851a7beda8c4de90a2db2 (diff) | |
download | vdr-plugin-muggle-01fb6ca159328f4c6d32098098d50d805975d777.tar.gz vdr-plugin-muggle-01fb6ca159328f4c6d32098098d50d805975d777.tar.bz2 |
fix segfault in mgSelection::enter, fix order in collections
git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk/muggle-plugin@469 e10066b5-e1e2-0310-b819-94efdf66514b
-rw-r--r-- | mg_db.c | 2 | ||||
-rw-r--r-- | mg_order.c | 5 |
2 files changed, 5 insertions, 2 deletions
@@ -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; @@ -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)); |