Răsfoiți Sursa

minor refinement

David Rose 16 ani în urmă
părinte
comite
c60b5e7b6e
1 a modificat fișierele cu 10 adăugiri și 2 ștergeri
  1. 10 2
      direct/src/plugin/p3dInstance.cxx

+ 10 - 2
direct/src/plugin/p3dInstance.cxx

@@ -1356,7 +1356,10 @@ uninstall_packages() {
   Packages::const_iterator pi;
   Packages::const_iterator pi;
   for (pi = _packages.begin(); pi != _packages.end(); ++pi) {
   for (pi = _packages.begin(); pi != _packages.end(); ++pi) {
     P3DPackage *package = (*pi);
     P3DPackage *package = (*pi);
-    package->uninstall();
+    if (package != _image_package && package != _certlist_package &&
+        package != _p3dcert_package) {
+      package->uninstall();
+    }
   }
   }
 }
 }
 
 
@@ -1372,12 +1375,17 @@ uninstall_packages() {
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 void P3DInstance::
 void P3DInstance::
 uninstall_host() {
 uninstall_host() {
+  uninstall_packages();
+
   set<P3DHost *> hosts;
   set<P3DHost *> hosts;
 
 
   Packages::const_iterator pi;
   Packages::const_iterator pi;
   for (pi = _packages.begin(); pi != _packages.end(); ++pi) {
   for (pi = _packages.begin(); pi != _packages.end(); ++pi) {
     P3DPackage *package = (*pi);
     P3DPackage *package = (*pi);
-    hosts.insert(package->get_host());
+    if (package != _image_package && package != _certlist_package &&
+        package != _p3dcert_package) {
+      hosts.insert(package->get_host());
+    }
   }
   }
 
 
   set<P3DHost *>::iterator hi;
   set<P3DHost *>::iterator hi;