diff -Nru multiload-ng-gtk3-1.5.1/Changelog.md multiload-ng-gtk3-1.5.2/Changelog.md
--- multiload-ng-gtk3-1.5.1/Changelog.md 2016-11-18 10:59:01.000000000 +0000
+++ multiload-ng-gtk3-1.5.2/Changelog.md 2016-12-05 16:13:59.000000000 +0000
@@ -2,6 +2,7 @@
This document groups together changelogs for every Multiload-ng release.
+- [Multiload-ng v1.5.2](#multiload-ng-v152)
- [Multiload-ng v1.5.1](#multiload-ng-v151)
- [Multiload-ng v1.5.0](#multiload-ng-v150)
- [Multiload-ng v1.4.2](#multiload-ng-v142)
@@ -16,6 +17,30 @@
+
+
+
+
+
+
+
+## Multiload-ng v1.5.2
+
+*Released on 05 Dec 2016*
+
+### Bugfixes
+- Fixed: Desktop entry for Systray contained a small typo, because of which it was not assigned to the correct desktop categories in some systems
+- Fixed: several memory leaks, some of these were severe enough to make Multiload-ng use huge amounts of memory after some days of continuous use (up to several hundreds MB)
+
+### Notes about upgrade
+This is a minor release. When upgrading from previous major releases, it is really recommended to read [release notes of Multiload-ng 1.5.0](#multiload-ng-v150).
+
+Considering the positive effects brought by this release (smaller memory usage), upgrade is highly recommended.
+
+Sorry for my absence this month, I'm pretty busy in real life. Development is definitely not over, and will resume soon.
+
+
+
diff -Nru multiload-ng-gtk3-1.5.1/common/graph-parm.c multiload-ng-gtk3-1.5.2/common/graph-parm.c
--- multiload-ng-gtk3-1.5.1/common/graph-parm.c 2016-11-18 10:59:01.000000000 +0000
+++ multiload-ng-gtk3-1.5.2/common/graph-parm.c 2016-12-05 16:13:59.000000000 +0000
@@ -85,6 +85,8 @@
}
}
+ g_free (stdout);
+ g_free (stderr);
if (xd->error == TRUE) {
memset(xd->result, 0, 4*sizeof(xd->result[0]));
diff -Nru multiload-ng-gtk3-1.5.1/common/load-graph.c multiload-ng-gtk3-1.5.2/common/load-graph.c
--- multiload-ng-gtk3-1.5.1/common/load-graph.c 2016-11-18 10:59:01.000000000 +0000
+++ multiload-ng-gtk3-1.5.2/common/load-graph.c 2016-12-05 16:13:59.000000000 +0000
@@ -93,6 +93,7 @@
cairo_pattern_add_color_stop_rgb (pat, 0, a->red, a->green, a->blue);
cairo_pattern_add_color_stop_rgb (pat, 1, b->red, b->green, b->blue);
cairo_set_source(cr, pat);
+ cairo_pattern_destroy (pat);
}
/* Redraws the backing pixmap for the load graph and updates the window */
@@ -446,7 +447,7 @@
g_signal_connect (G_OBJECT(g->disp), "draw", G_CALLBACK (load_graph_draw_cb), g);
#endif */
g_signal_connect (G_OBJECT(g->disp), "configure_event", G_CALLBACK (load_graph_configure), g);
- g_signal_connect (G_OBJECT(g->disp), "destroy", G_CALLBACK (load_graph_destroy), g);
+ g_signal_connect (G_OBJECT(g->main_widget), "destroy", G_CALLBACK (load_graph_destroy), g);
g_signal_connect (G_OBJECT(g->disp), "button-press-event", G_CALLBACK (load_graph_clicked), g);
g_signal_connect (G_OBJECT(g->disp), "enter-notify-event", G_CALLBACK(load_graph_mouse_move_cb), g);
g_signal_connect (G_OBJECT(g->disp), "leave-notify-event", G_CALLBACK(load_graph_mouse_move_cb), g);
diff -Nru multiload-ng-gtk3-1.5.1/common/multiload.c multiload-ng-gtk3-1.5.2/common/multiload.c
--- multiload-ng-gtk3-1.5.1/common/multiload.c 2016-11-18 10:59:01.000000000 +0000
+++ multiload-ng-gtk3-1.5.2/common/multiload.c 2016-12-05 16:13:59.000000000 +0000
@@ -366,20 +366,22 @@
}
void
-multiload_destroy(MultiloadPlugin *ma)
+multiload_free(MultiloadPlugin *ma)
{
gint i;
for (i = 0; i < GRAPH_MAX; i++) {
- load_graph_stop(ma->graphs[i]);
- gtk_widget_destroy(ma->graphs[i]->main_widget);
+ load_graph_stop (ma->graphs[i]);
+ gtk_widget_destroy (ma->graphs[i]->main_widget);
- load_graph_unalloc(ma->graphs[i]);
- g_free(ma->graphs[i]);
+ load_graph_unalloc (ma->graphs[i]);
+ g_free (ma->graphs[i]);
- g_free(ma->extra_data[i]);
+ g_free (ma->extra_data[i]);
}
+ g_free (ma);
+
g_debug("[multiload] Destroyed");
}
diff -Nru multiload-ng-gtk3-1.5.1/common/multiload.h multiload-ng-gtk3-1.5.2/common/multiload.h
--- multiload-ng-gtk3-1.5.1/common/multiload.h 2016-11-18 10:59:01.000000000 +0000
+++ multiload-ng-gtk3-1.5.2/common/multiload.h 2016-12-05 16:13:59.000000000 +0000
@@ -172,7 +172,7 @@
G_GNUC_INTERNAL MultiloadPlugin*
multiload_new();
G_GNUC_INTERNAL void
-multiload_destroy(MultiloadPlugin *ma);
+multiload_free(MultiloadPlugin *ma);
G_GNUC_INTERNAL int
multiload_find_graph_by_name(char *str, char **suffix);
diff -Nru multiload-ng-gtk3-1.5.1/common/ps-settings-impl-gkeyfile.inc multiload-ng-gtk3-1.5.2/common/ps-settings-impl-gkeyfile.inc
--- multiload-ng-gtk3-1.5.1/common/ps-settings-impl-gkeyfile.inc 2016-11-18 10:59:01.000000000 +0000
+++ multiload-ng-gtk3-1.5.2/common/ps-settings-impl-gkeyfile.inc 2016-12-05 16:13:59.000000000 +0000
@@ -60,6 +60,7 @@
}
}
+ g_free(fname);
g_clear_error(&err);
return gkf;
}
diff -Nru multiload-ng-gtk3-1.5.1/common/ui.c multiload-ng-gtk3-1.5.2/common/ui.c
--- multiload-ng-gtk3-1.5.1/common/ui.c 2016-11-18 10:59:01.000000000 +0000
+++ multiload-ng-gtk3-1.5.2/common/ui.c 2016-12-05 16:13:59.000000000 +0000
@@ -418,9 +418,12 @@
if (!g_option_context_parse (context, argc, argv, &error)) {
g_print ("%s\n", error->message);
+ g_error_free (error);
exit (1);
}
+ g_option_context_free (context);
+
return options;
}
diff -Nru multiload-ng-gtk3-1.5.1/debian/changelog multiload-ng-gtk3-1.5.2/debian/changelog
--- multiload-ng-gtk3-1.5.1/debian/changelog 2016-11-18 13:07:39.000000000 +0000
+++ multiload-ng-gtk3-1.5.2/debian/changelog 2016-12-07 09:59:19.000000000 +0000
@@ -1,3 +1,10 @@
+multiload-ng-gtk3 (1.5.2-1~webupd8~yakkety0) yakkety; urgency=medium
+
+ * New upstream bugfix release
+ * Build standalone and indicator packages with GTK3 for Yakkety
+
+ -- Alin Andrei Wed, 07 Dec 2016 11:59:19 +0200
+
multiload-ng-gtk3 (1.5.1-1~webupd8~yakkety0) yakkety; urgency=medium
* New upstream release
diff -Nru multiload-ng-gtk3-1.5.1/extras/portage/x11-plugins/multiload-ng/multiload-ng-1.5.2.ebuild multiload-ng-gtk3-1.5.2/extras/portage/x11-plugins/multiload-ng/multiload-ng-1.5.2.ebuild
--- multiload-ng-gtk3-1.5.1/extras/portage/x11-plugins/multiload-ng/multiload-ng-1.5.2.ebuild 1970-01-01 00:00:00.000000000 +0000
+++ multiload-ng-gtk3-1.5.2/extras/portage/x11-plugins/multiload-ng/multiload-ng-1.5.2.ebuild 2016-12-05 16:13:59.000000000 +0000
@@ -0,0 +1,91 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+inherit autotools eutils
+
+DESCRIPTION="Modern graphical system monitor for any panel"
+HOMEPAGE="https://github.com/udda/multiload-ng"
+
+SRC_URI="https://github.com/udda/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="amd64 x86"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="-debug +autostart -experimental gtk2 +gtk3 -awn +indicator +lxde +mate +standalone +systray +xfce4"
+
+LANGS="de es fr it lt ru zh_CN"
+for lang in ${LANGS} ; do IUSE+=" linguas_${lang}"; done
+
+RDEPEND="
+ gtk2? ( >=x11-libs/gtk+-2.20:2 )
+ gtk3? ( x11-libs/gtk+:3 )
+ x11-libs/cairo:=
+ awn? (
+ >=gnome-extra/avant-window-navigator-0.3.9
+ >=dev-cpp/glibmm-2.16.0:2
+ >=dev-cpp/gtkmm-2.20:2.4
+ )
+ indicator? (
+ gtk2? ( >=dev-libs/libappindicator-0.4.92:2 )
+ gtk3? ( >=dev-libs/libappindicator-0.4.92:3 )
+ )
+ lxde? (
+ >=lxde-base/lxpanel-0.5.8
+ )
+ mate? (
+ gtk2? ( >=mate-base/mate-panel-1.7.0 )
+ gtk3? ( >=mate-base/mate-panel-1.7.0[gtk3(-)] )
+ )
+ xfce4? (
+ gtk2? (
+ >=xfce-base/libxfce4util-4.6.0
+ >=xfce-base/xfce4-panel-4.6.0
+ )
+ gtk3? (
+ >=xfce-base/libxfce4util-4.12.0
+ >=xfce-base/xfce4-panel-4.12.0
+ )
+ )"
+
+DEPEND="${RDEPEND}
+ dev-util/intltool
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+DOCS="AUTHORS README.md"
+
+REQUIRED_USE="
+ ^^ ( gtk2 gtk3 )
+ || ( awn indicator lxde mate standalone systray xfce4 )
+ awn? ( gtk2 experimental )"
+
+src_prepare() {
+ eautoreconf
+ eapply_user
+}
+
+src_configure() {
+ if use gtk2; then
+ GTK_CONF="--with-gtk=2.0"
+ else
+ GTK_CONF="--with-gtk=3.0 --disable-deprecations"
+ fi
+ econf \
+ $(use_enable experimental) \
+ $(use_enable debug) \
+ $(use_enable autostart) \
+ $GTK_CONF \
+ $(use_with standalone) \
+ $(use_with awn) \
+ $(use_with indicator) \
+ $(use_with lxde lxpanel) \
+ $(use_with mate) \
+ $(use_with systray) \
+ $(use_with xfce4)
+
+ if use experimental; then
+ elog "You are enabling experimental code. Please note that this can be really unstable."
+ fi
+}
diff -Nru multiload-ng-gtk3-1.5.1/indicator/plugin.c multiload-ng-gtk3-1.5.2/indicator/plugin.c
--- multiload-ng-gtk3-1.5.1/indicator/plugin.c 2016-11-18 10:59:01.000000000 +0000
+++ multiload-ng-gtk3-1.5.2/indicator/plugin.c 2016-12-05 16:13:59.000000000 +0000
@@ -61,19 +61,19 @@
sprintf(signame, "Signal %d", sig);
printf("Received %s, cleaning up...\n", signame);
- remove(icon_filename[0]);
- remove(icon_filename[1]);
- remove(icon_directory);
+ remove(icon_filename[0]);
+ remove(icon_filename[1]);
+ remove(icon_directory);
- exit(0);
+ exit(0);
}
static void
indicator_destroy_cb(GtkWidget *widget, MultiloadPlugin *ma)
{
- gtk_main_quit ();
- g_free(ma);
- indicator_cleanup(0);
+ gtk_main_quit ();
+ multiload_free (ma);
+ indicator_cleanup (0);
}
static void
diff -Nru multiload-ng-gtk3-1.5.1/standalone/plugin.c multiload-ng-gtk3-1.5.2/standalone/plugin.c
--- multiload-ng-gtk3-1.5.1/standalone/plugin.c 2016-11-18 10:59:01.000000000 +0000
+++ multiload-ng-gtk3-1.5.2/standalone/plugin.c 2016-12-05 16:13:59.000000000 +0000
@@ -41,8 +41,8 @@
static void
standalone_destroy_cb (GtkWidget *widget, MultiloadPlugin *multiload)
{
- gtk_main_quit ();
- g_free(multiload);
+ gtk_main_quit ();
+ multiload_free (multiload);
}
static void
@@ -145,7 +145,7 @@
#if GTK_CHECK_VERSION(3,8,0)
gtk_widget_set_opacity (GTK_WIDGET(window), val);
#else
- gtk_window_set_opacity (window, val)
+ gtk_window_set_opacity (window, val);
#endif
}
@@ -257,9 +257,10 @@
#ifdef MULTILOAD_EXPERIMENTAL
GtkWidget *handle = gtk_event_box_new();
- gtk_container_add (GTK_CONTAINER(handle), gtk_label_new("(move)"));
+ gtk_container_add (GTK_CONTAINER(handle), gtk_label_new("(move me)"));
g_signal_connect (G_OBJECT(handle), "button-press-event", G_CALLBACK(standalone_handle_press_cb), w);
gtk_box_pack_start(GTK_BOX(hbox), handle, FALSE, FALSE, 0);
+ gtk_widget_show_all (handle);
#endif
gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(multiload->container), TRUE, TRUE, 0);
diff -Nru multiload-ng-gtk3-1.5.1/systray/multiload-ng-systray.desktop.in.in multiload-ng-gtk3-1.5.2/systray/multiload-ng-systray.desktop.in.in
--- multiload-ng-gtk3-1.5.1/systray/multiload-ng-systray.desktop.in.in 2016-11-18 10:59:01.000000000 +0000
+++ multiload-ng-gtk3-1.5.2/systray/multiload-ng-systray.desktop.in.in 2016-12-05 16:13:59.000000000 +0000
@@ -6,7 +6,7 @@
TryExec=multiload-ng-systray
Exec=multiload-ng-systray
Icon=@APPICON@
-Categories=Utility;System;Monitor;GTK;Applet,TrayIcon;
+Categories=Utility;System;Monitor;GTK;Applet;TrayIcon;
Terminal=false
StartupNotify=false
Actions=Preferences;
diff -Nru multiload-ng-gtk3-1.5.1/systray/plugin.c multiload-ng-gtk3-1.5.2/systray/plugin.c
--- multiload-ng-gtk3-1.5.1/systray/plugin.c 2016-11-18 10:59:01.000000000 +0000
+++ multiload-ng-gtk3-1.5.2/systray/plugin.c 2016-12-05 16:13:59.000000000 +0000
@@ -48,8 +48,8 @@
static void
systray_destroy_cb(GtkWidget *widget, MultiloadPlugin *ma)
{
- gtk_main_quit ();
- g_free(ma);
+ gtk_main_quit ();
+ multiload_free (ma);
}
static void
diff -Nru multiload-ng-gtk3-1.5.1/version multiload-ng-gtk3-1.5.2/version
--- multiload-ng-gtk3-1.5.1/version 2016-11-18 10:59:01.000000000 +0000
+++ multiload-ng-gtk3-1.5.2/version 2016-12-05 16:13:59.000000000 +0000
@@ -1 +1 @@
-1.5.1
\ No newline at end of file
+1.5.2
\ No newline at end of file
diff -Nru multiload-ng-gtk3-1.5.1/xfce4/plugin.c multiload-ng-gtk3-1.5.2/xfce4/plugin.c
--- multiload-ng-gtk3-1.5.1/xfce4/plugin.c 2016-11-18 10:59:01.000000000 +0000
+++ multiload-ng-gtk3-1.5.2/xfce4/plugin.c 2016-12-05 16:13:59.000000000 +0000
@@ -141,7 +141,7 @@
if (G_UNLIKELY (multiload->pref_dialog != NULL))
gtk_widget_destroy (multiload->pref_dialog);
- multiload_destroy (multiload);
+ multiload_free (multiload);
gtk_widget_destroy (GTK_WIDGET(multiload->container));
g_slice_free (MultiloadPlugin, multiload);