]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/algorithms.cc
Bug fixes
[apt.git] / apt-pkg / algorithms.cc
index e784ce895babf6a1c2fee8bc29b49e98ac13153a..49e964f23290c10ed95641bb464e89d4c85f36ef 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: algorithms.cc,v 1.27 1999/10/22 05:58:54 jgg Exp $
+// $Id: algorithms.cc,v 1.29 1999/11/17 01:52:01 jgg Exp $
 /* ######################################################################
 
    Algorithms - A set of misc algorithms
@@ -738,7 +738,10 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
               if (InOr == true)
               {
                  if (OldEnd == LEnd && OrOp == OrRemove)
-                    Cache.MarkDelete(I);
+                 {
+                    if ((Flags[I->ID] & Protected) != Protected)
+                       Cache.MarkDelete(I);
+                 }               
                  if (OldEnd == LEnd && OrOp == OrKeep)
                     Cache.MarkKeep(I);
               }
@@ -799,7 +802,11 @@ bool pkgProblemResolver::Resolve(bool BrokenFix)
                  if ((Flags[I->ID] & Protected) == Protected)
                  {
                     if (DoUpgrade(Pkg) == true)
+                    {
                        Scores[Pkg->ID] = Scores[I->ID];
+                       break;
+                    }
+                    
                     continue;
                  }