[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

kdenonbeta/kdedebian/kapture



CVS commit by mornfall: 

Fix dependency view. Also make Pkg2DepGrouper use specific version, not
just candidate one (well, if it is applied on PkgCElem, it will still
use candidate version). Makes dependency view respect the version combo
in pkgcelemview.


  M +18 -13    libcapture/depgroupers.cpp   1.15
  M +1 -1      libcapture/depgroupers.h   1.10
  M +2 -2      libkapture/pkgcelemview.cpp   1.5


--- kdenonbeta/kdedebian/kapture/libcapture/depgroupers.cpp  #1.14:1.15
@@ -38,8 +38,8 @@ GROUPER_DESTR (Pkg2DepGrouper) {};
 // --------------------------------------------------------------------------
 GROUPER_CONSTR (Pkg2DepGrouper)
-    : Grouper (f, a), m_nextInst (0), m_pkg (0)
+    : Grouper (f, a), m_nextInst (0), m_ver (0)
 {
-    m_pkg = ParamNode::value (Param::get (a, "package"));
-    cerr << "Pkg2DepGrouper::Pkg2DepGrouper package = " << m_pkg << endl;
+    m_ver = verCElem (ParamCElem::value (Param::get (a, "package")));
+    cerr << "Pkg2DepGrouper::Pkg2DepGrouper package = " << m_ver << endl;
 }
                                                                     /* }}} */
@@ -50,19 +50,24 @@ void Pkg2DepGrouper::addNode (TreeNode *
     PkgCElem *pe = 0;
     DepCElem *de = 0;
+    VerCElem *ve = 0;
     if (! m_nextInst)
         m_nextInst = m_next -> instantiate ();
     bool o = 0;
-    if (n) {
+    if (n) { // find the version to operate on; bit hairy...
         m_nextInst -> addNode (n, r);
+        ve = verCElem (**n);
+        if (! ve) {
         pe = pkgCElem (**n);
-    } else if (m_pkg) {
-        pe = pkgCElem (**m_pkg);
-        if (n)
-            n -> killChildren ();
+            if (pe)
+                ve = cElem (PkgManager::cache () -> GetCandidateVer (*pe));
     }
-    if (n || pe) {
+    } else if (m_ver) {
+        ve = m_ver;
+        /* if (n) // XXX: from stashing times; probably worthless
+            n -> killChildren (); */
+    } // end finding the version
+    if (ve) {
         TreeNode *d = 0;
-        de = cElem (PkgManager::cache () -> GetCandidateVer (*pe) .
-                DependsList ());
+        de = ve -> DependsList ();
         for (; ! de -> end (); ++ (* de)) {
             if (o) {

--- kdenonbeta/kdedebian/kapture/libcapture/depgroupers.h  #1.9:1.10
@@ -29,5 +29,5 @@ namespace capture {
     // Pkg2DepGrouper - package -> set of depends converter
     // ----------------------------------------------------------------------
-    GROUPER_DEF (Pkg2DepGrouper, Grouper, Grouper *m_nextInst; TreeNode *m_pkg;);
+    GROUPER_DEF (Pkg2DepGrouper, Grouper, Grouper *m_nextInst; VerCElemSPtr m_ver;);
 
     // DepTGrouper - dependency type grouper

--- kdenonbeta/kdedebian/kapture/libkapture/pkgcelemview.cpp  #1.4:1.5
@@ -99,5 +99,5 @@ bool PkgCElemView::showElem (capture::CE
                                                                     /* }}} */
                                                                     /* {{{ */
-void PkgCElemView::setVersion (VerCElemSPtr V)
+void PkgCElemView::setVersion (VerCElemPtr V)
 {
     pkgCache::VerFileIterator Vf;
@@ -112,5 +112,5 @@ void PkgCElemView::setVersion (VerCElemS
     // Feeder *feed = new PkgDepFeeder (V);
     Param::Map a;
-    Param::set (a, "package", ParamCElem::create (m_pkg));
+    Param::set (a, "package", ParamCElem::create (V));
     GrouperChain *c = m_depList -> grouper ();
     kdDebug () << "chain: " << c << endl;




Reply to: