Diffstat (limited to 'noncore/unsupported/oipkg/packagelist.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/unsupported/oipkg/packagelist.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/noncore/unsupported/oipkg/packagelist.cpp b/noncore/unsupported/oipkg/packagelist.cpp index b892b30..be20c71 100644 --- a/noncore/unsupported/oipkg/packagelist.cpp +++ b/noncore/unsupported/oipkg/packagelist.cpp | |||
@@ -30,23 +30,32 @@ PackageList::~PackageList() | |||
30 | { | 30 | { |
31 | } | 31 | } |
32 | 32 | ||
33 | /** Inserts a package into the list */ | 33 | /** Inserts a package into the list */ |
34 | void PackageList::insertPackage( Package* pack ) | 34 | void PackageList::insertPackage( Package* pack ) |
35 | { | 35 | { |
36 | if (!pack) return; | ||
36 | Package* p = packageList.find( pack->name() ); | 37 | Package* p = packageList.find( pack->name() ); |
37 | if ( p ) | 38 | if ( p ) |
38 | { | 39 | { |
40 | if ( p->version() == pack->version() ) | ||
41 | { | ||
39 | p->copyValues( pack ); | 42 | p->copyValues( pack ); |
40 | delete pack; | 43 | delete pack; |
41 | pack = p; | 44 | pack = p; |
42 | }else{ | 45 | }else{ |
46 | p->setName( pack->name()+"["+p->version()+"]" ); | ||
47 | pack->setName( pack->name()+"["+pack->version()+"]" ); | ||
48 | packageList.insert( pack->name(), pack ); | ||
49 | origPackageList.insert( pack->name(), pack ); | ||
50 | } | ||
51 | }else{ | ||
43 | packageList.insert( pack->name(), pack ); | 52 | packageList.insert( pack->name(), pack ); |
44 | origPackageList.insert( pack->name(), pack ); | 53 | origPackageList.insert( pack->name(), pack ); |
45 | empty=false; | ||
46 | }; | 54 | }; |
55 | empty=false; | ||
47 | updateSections( pack ); | 56 | updateSections( pack ); |
48 | } | 57 | } |
49 | 58 | ||
50 | void PackageList::filterPackages( QString f ) | 59 | void PackageList::filterPackages( QString f ) |
51 | { | 60 | { |
52 | packageList.clear(); | 61 | packageList.clear(); |