CVS commit by mornfall: Fix a bug in PkgManager, preventing initialization of the right pkgSystem after constructor was called. We now initialize pkgSystem only at loadAll call. Fixes kurrent (now runs stuff in embedded konsole).
M +7 -2 pkgmanager.cpp 1.42 M +1 -0 pkgmanager.h 1.27 --- kdenonbeta/kdedebian/kapture/libcapture/pkgmanager.cpp #1.41:1.42 @@ -72,8 +72,8 @@ PkgManager::PkgManager () m_notify = 1; m_changes = 0; + m_sysInitialized = 0; new capture::PkgSystem (); // _config -> Set ("Apt::System", "captureDPkgSystem"); - if (pkgInitConfig (*_config) == false || - pkgInitSystem (*_config, _system) == false) { + if (pkgInitConfig (*_config) == false) { _error -> DumpErrors (); // XXX } @@ -92,4 +92,9 @@ bool PkgManager::loadAll () bool n = m_notify; bool r = true; + if (! m_sysInitialized) { + if (pkgInitSystem (*_config, _system) == false) + return _error -> Error ("pkgInitSystem failed!"); + } + m_sysInitialized = 1; notifySave (); m_notify = 0; --- kdenonbeta/kdedebian/kapture/libcapture/pkgmanager.h #1.26:1.27 @@ -92,4 +92,5 @@ namespace capture { bool m_cacheOpen:1; bool m_write:1; + bool m_sysInitialized:1; pkgRecords *m_records; pkgPackageManager *m_man;