summaryrefslogtreecommitdiff
path: root/noncore/unsupported/oipkg/packagelist.cpp
Unidiff
Diffstat (limited to 'noncore/unsupported/oipkg/packagelist.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/unsupported/oipkg/packagelist.cpp11
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 */
34void PackageList::insertPackage( Package* pack ) 34void 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
50void PackageList::filterPackages( QString f ) 59void PackageList::filterPackages( QString f )
51 { 60 {
52 packageList.clear(); 61 packageList.clear();