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

kdenonbeta/kdedebian/kapture/libkapture



CVS commit by mornfall: 

Fix the crash in PkgNodeView with useExtState () == false, on display.
Still needs work to display right controls and start right actions
depending on useExtState ().


  M +23 -20    pkgnodeview.cpp   1.11


--- kdenonbeta/kdedebian/kapture/libkapture/pkgnodeview.cpp  #1.10:1.11
@@ -176,21 +176,23 @@ void PkgNodeViewCommon::setPackage (pkgC
                                                                     /* {{{ */
 void PkgNodeViewCommon::refresh ()
-    // FIXME: take current status into account!
 {
     if (m_pkg . end ()) return;
-    PkgCache::ExtState *st = (PkgManager::cache ()) -> extState (m_pkg);
 
     // status...
-    if (st -> changed) {
-        if (st -> a_wanted)
-            m_status -> setText ("Will be installed");
-        else
-            m_status -> setText ("Will be removed");
-    } else {
-        if ((PkgManager::cache ()) -> currentlyInstalled (m_pkg))
-            m_status -> setText ("Will be left installed");
-        else
-            m_status -> setText ("Will be left uninstalled");
+    switch (PkgManager::cache () -> packageState (m_pkg)) {
+        case PkgCache::PkgInstall:
+            m_status -> setText ("Will be installed"); break;
+        case PkgCache::PkgUninstall:
+            m_status -> setText ("Will be uninstalled"); break;
+        case PkgCache::PkgKeepI:
+            m_status -> setText ("Will be left installed"); break;
+        case PkgCache::PkgKeepU:
+            m_status -> setText ("Will be left uninstalled"); break;
+        case PkgCache::PkgBroken:
+            m_status -> setText ("BROKEN"); break;
     }
+
+    if ((PkgManager::cache ()) -> useExtState ()) {
+        PkgCache::ExtState *st = (PkgManager::cache ()) -> extState (m_pkg);
     m_wanted -> blockSignals (true);
     m_wanted -> setChecked (st -> u_wanted);
@@ -200,4 +202,5 @@ void PkgNodeViewCommon::refresh ()
     m_instPri -> setCurrentItem (p <= 5 ? (p >= 0 ? p : 0) : 5);
     m_instPri -> blockSignals (false);
+    }
 }
                                                                     /* }}} */




Reply to: