From 5f1c96e479d89fe435004d249072fb3d4b0e0862 Mon Sep 17 00:00:00 2001 From: guinux Date: Sat, 3 Jan 2015 19:32:10 +0100 Subject: [PATCH] improve memory management --- .gitignore | 3 +++ src/alpm_config.vala | 28 +++++++++++++++++----------- src/manager_window.vala | 2 +- src/pamac-refresh | Bin 16651 -> 0 bytes 4 files changed, 21 insertions(+), 12 deletions(-) delete mode 100755 src/pamac-refresh diff --git a/.gitignore b/.gitignore index 5e32468..18409d9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,13 @@ pkgbuild +resources/*~ resources/*.c +src/*.c src/pamac-daemon src/pamac-tray src/pamac-manager src/pamac-install src/pamac-updater +src/pamac-refresh data/polkit/org.manjaro.pamac.policy po/*.mo po/*~ diff --git a/src/alpm_config.vala b/src/alpm_config.vala index 4808823..b52bdff 100644 --- a/src/alpm_config.vala +++ b/src/alpm_config.vala @@ -42,12 +42,12 @@ namespace Alpm { double deltaratio; int usesyslog; public int checkspace; - Alpm.List cachedirs; - Alpm.List ignoregroups; + Alpm.List *cachedirs; + Alpm.List *ignoregroups; public string ignorepkg; - Alpm.List ignorepkgs; - Alpm.List noextracts; - Alpm.List noupgrades; + Alpm.List *ignorepkgs; + Alpm.List *noextracts; + Alpm.List *noupgrades; public GLib.List holdpkgs; public GLib.List syncfirsts; public string syncfirst; @@ -69,12 +69,18 @@ namespace Alpm { dbpath = "/var/lib/pacman"; gpgdir = "/etc/pacman.d/gnupg/"; logfile = "/var/log/pacman.log"; + string default_cachedir = "/var/cache/pacman/pkg/"; arch = Posix.utsname().machine; holdpkgs = new GLib.List (); syncfirsts = new GLib.List (); syncfirst = ""; + Alpm.List.free_all (cachedirs); + Alpm.List.free_all (ignoregroups); + Alpm.List.free_all (ignorepkgs); + Alpm.List.free_all (noextracts); + Alpm.List.free_all (noupgrades); cachedirs = new Alpm.List (); - cachedirs.add ("/var/cache/pacman/pkg/"); + cachedirs->add_str (default_cachedir); ignoregroups = new Alpm.List (); ignorepkgs = new Alpm.List (); ignorepkg = ""; @@ -194,20 +200,20 @@ namespace Alpm { syncfirsts.append (name); } else if (_key == "CacheDir") { foreach (string dir in _value.split (" ")) - cachedirs.add_str (dir); + cachedirs->add_str (dir); } else if (_key == "IgnoreGroup") { foreach (string name in _value.split (" ")) - ignoregroups.add_str (name); + ignoregroups->add_str (name); } else if (_key == "IgnorePkg") { ignorepkg = _value; foreach (string name in _value.split (" ")) - ignorepkgs.add_str (name); + ignorepkgs->add_str (name); } else if (_key == "Noextract") { foreach (string name in _value.split (" ")) - noextracts.add_str (name); + noextracts->add_str (name); } else if (_key == "NoUpgrade") { foreach (string name in _value.split (" ")) - noupgrades.add_str (name); + noupgrades->add_str (name); } } else { foreach (var repo in repo_order) { diff --git a/src/manager_window.vala b/src/manager_window.vala index 6efd1bf..a4a5849 100644 --- a/src/manager_window.vala +++ b/src/manager_window.vala @@ -451,7 +451,7 @@ namespace Pamac { } public async Alpm.List search_pkgs (string search_string, out Json.Array aur_pkgs) { - Alpm.List needles = null; + var needles = new Alpm.List (); string[] splitted = search_string.split (" "); foreach (unowned string part in splitted) needles.add (part); diff --git a/src/pamac-refresh b/src/pamac-refresh deleted file mode 100755 index df914a533c180d0ec3a16e0b114378630772a84d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16651 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