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);