fixes
[fapman] / aaptinterface.cpp
index b27304a..7ff8033 100644 (file)
@@ -42,6 +42,8 @@ AAptInterface::AAptInterface(QObject* parent = 0) : QObject(parent)
        iNeedDateRefresh = true;
        iNeedDpkgRefresh = true;
        iSkipRefreshListAndDates = false;
+       iLastListUpdate.setTime_t(0);
+       iLastDpkgUpdate.setTime_t(0);
 
        iProcAptGetUpdate = new QProcess(this);
        iProcAptGetSimulate = new QProcess(this);
@@ -1188,7 +1190,7 @@ void AAptInterface::startPkgListRead()
                                                QApplication::processEvents();
                                        }
                                        pkgcount_apt++;
-                                       if( newpkg )
+                                       if( newpkg )//&& !newpkg->name().isEmpty() )
                                        {
                                                newpkg->addRepository( currentRepo );
 
@@ -1214,7 +1216,10 @@ void AAptInterface::startPkgListRead()
                                                                newpkg=0;
                                                        }
                                                }
-                                       }
+                                       }/* else if( newpkg ) {
+                                               delete newpkg;
+                                               newpkg = 0;
+                                       }*/
                                }
                                db.close();
                        }
@@ -1233,6 +1238,7 @@ void AAptInterface::startPkgListRead()
 
                iNeedListRefresh = false;
                iNeedDateRefresh = true;
+               iLastListUpdate = QDateTime::currentDateTime();
        }
 
 // read dpkg database (installed packages)
@@ -1264,7 +1270,7 @@ void AAptInterface::startPkgListRead()
                        }
                        pkgcount_dpkg++;
                        if( newpkg ) {
-                               if( newpkg->isInstalled() ) {
+                               if( newpkg->isInstalled() && !newpkg->name().isEmpty() ) {
                                        iPackagesInstalled.insert(newpkg->name(), newpkg);
                                } else {
                                        delete newpkg;
@@ -1286,6 +1292,7 @@ void AAptInterface::startPkgListRead()
                        return;
                }
                iNeedDpkgRefresh = false;
+               iLastDpkgUpdate = QDateTime::currentDateTime();
        }
 
        logToFile( QString("Finished reading package lists") );
@@ -1596,6 +1603,13 @@ void AAptInterface::startFetchDates()
        }
 
        QNetworkAccessManager* nam = new QNetworkAccessManager(this);
+
+       if( iSettings->qsettings()->value("use_proxies").toBool() && iSettings->qsettings()->value("http_proxy").toString()!="" )
+       {
+                QNetworkProxy proxy = Settings::createProxyFromString( iSettings->qsettings()->value("http_proxy").toString() );
+                nam->setProxy(proxy);
+       }
+
        iCanCancel = true;
 
        int count = 0;