diff options
author | Ted Gould <ted@gould.cx> | 2011-09-28 09:53:37 -0500 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2011-09-28 09:53:37 -0500 |
commit | 60db5072f4ae6d12c54f10b4b4242fe52ad03891 (patch) | |
tree | 60bb50e14d5cd468fe2aa6c7e8b2626f025e2abb | |
parent | 09cbd15fd6bd72df523743f289292822f7d9c502 (diff) | |
parent | 61ce1240559e39b4ef2ff6d28b9a202bd8e45ff8 (diff) | |
download | ayatana-indicator-application-60db5072f4ae6d12c54f10b4b4242fe52ad03891.tar.gz ayatana-indicator-application-60db5072f4ae6d12c54f10b4b4242fe52ad03891.tar.bz2 ayatana-indicator-application-60db5072f4ae6d12c54f10b4b4242fe52ad03891.zip |
* New upstream release.
* Fix memory leak (LP: #829961)
-rw-r--r-- | ChangeLog | 24 | ||||
-rwxr-xr-x | configure | 20 | ||||
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | debian/changelog | 7 | ||||
-rw-r--r-- | src/application-service-appstore.c | 33 |
5 files changed, 76 insertions, 12 deletions
@@ -1,5 +1,29 @@ # Generated by Makefile. Do not edit. +2011-09-28 Ted Gould <ted@gould.cx> + + 0.4.0 + +2011-09-16 Ted Gould <ted@gould.cx> + + Memory leaks on double calls for properties + +2011-09-16 Ted Gould <ted@gould.cx> + + Pulling in mterry's additional fixes + +2011-09-16 Michael Terry <michael.terry@canonical.com> + + free application fields before resetting them to new values + +2011-09-16 Ted Gould <ted@gould.cx> + + Ensure we set a default value for aicon + +2011-09-14 Ted Gould <ted@gould.cx> + + Freeing properties on second run of building the app indicator + 2011-08-11 Ted Gould <ted@gould.cx> 0.3.92 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for indicator-application 0.3.92. +# Generated by GNU Autoconf 2.68 for indicator-application 0.4.0. # # Report bugs to <ted@canonical.com>. # @@ -572,8 +572,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='indicator-application' PACKAGE_TARNAME='indicator-application' -PACKAGE_VERSION='0.3.92' -PACKAGE_STRING='indicator-application 0.3.92' +PACKAGE_VERSION='0.4.0' +PACKAGE_STRING='indicator-application 0.4.0' PACKAGE_BUGREPORT='ted@canonical.com' PACKAGE_URL='' @@ -1317,7 +1317,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures indicator-application 0.3.92 to adapt to many kinds of systems. +\`configure' configures indicator-application 0.4.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1388,7 +1388,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of indicator-application 0.3.92:";; + short | recursive ) echo "Configuration of indicator-application 0.4.0:";; esac cat <<\_ACEOF @@ -1509,7 +1509,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -indicator-application configure 0.3.92 +indicator-application configure 0.4.0 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. @@ -1789,7 +1789,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by indicator-application $as_me 0.3.92, which was +It was created by indicator-application $as_me 0.4.0, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -2610,7 +2610,7 @@ fi # Define the identity of the package. PACKAGE=indicator-application - VERSION=0.3.92 + VERSION=0.4.0 cat >>confdefs.h <<_ACEOF @@ -13365,7 +13365,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by indicator-application $as_me 0.3.92, which was +This file was extended by indicator-application $as_me 0.4.0, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -13431,7 +13431,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -indicator-application config.status 0.3.92 +indicator-application config.status 0.4.0 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 3b0bfe3..33a6260 100644 --- a/configure.ac +++ b/configure.ac @@ -1,11 +1,11 @@ -AC_INIT(indicator-application, 0.3.92, ted@canonical.com) +AC_INIT(indicator-application, 0.4.0, ted@canonical.com) AC_COPYRIGHT([Copyright 2009, 2010 Canonical]) AC_PREREQ(2.53) AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE(indicator-application, 0.3.92) +AM_INIT_AUTOMAKE(indicator-application, 0.4.0) AM_MAINTAINER_MODE diff --git a/debian/changelog b/debian/changelog index 9c7c880..77f8bd5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +indicator-application (0.4.0-0ubuntu1~ppa1) UNRELEASED; urgency=low + + * New upstream release. + * Fix memory leak (LP: #829961) + + -- Ted Gould <ted@ubuntu.com> Wed, 28 Sep 2011 09:53:06 -0500 + indicator-application (0.3.92-0ubuntu1~ppa1) oneiric; urgency=low * New upstream release. diff --git a/src/application-service-appstore.c b/src/application-service-appstore.c index d59cfe9..edc517f 100644 --- a/src/application-service-appstore.c +++ b/src/application-service-appstore.c @@ -508,6 +508,14 @@ got_all_properties (GObject * source_object, GAsyncResult * res, else { app->validated = TRUE; + /* It is possible we're coming through a second time and + getting the properties. So we need to ensure we don't + already have them stored */ + g_free(app->id); + g_free(app->category); + g_free(app->icon); + g_free(app->menu); + app->id = g_variant_dup_string(id, NULL); app->category = g_variant_dup_string(category, NULL); app->status = string_to_status(g_variant_get_string(status, NULL)); @@ -516,10 +524,30 @@ got_all_properties (GObject * source_object, GAsyncResult * res, /* Now the optional properties */ + g_free(app->icon_desc); + if (icon_desc != NULL) { + app->icon_desc = g_variant_dup_string(icon_desc, NULL); + } + else { + app->icon_desc = g_strdup(""); + } + + g_free(app->aicon); if (aicon_name != NULL) { app->aicon = g_variant_dup_string(aicon_name, NULL); + } else { + app->aicon = g_strdup(""); + } + + g_free(app->aicon_desc); + if (aicon_desc != NULL) { + app->aicon_desc = g_variant_dup_string(aicon_desc, NULL); + } + else { + app->aicon_desc = g_strdup(""); } + g_free(app->icon_theme_path); if (icon_theme_path != NULL) { app->icon_theme_path = g_variant_dup_string(icon_theme_path, NULL); } else { @@ -539,12 +567,14 @@ got_all_properties (GObject * source_object, GAsyncResult * res, g_debug("'%s' ordering index is '%X'", app->id, app->ordering_index); app->appstore->priv->applications = g_list_sort_with_data(app->appstore->priv->applications, app_sort_func, NULL); + g_free(app->label); if (label != NULL) { app->label = g_variant_dup_string(label, NULL); } else { app->label = g_strdup(""); } + g_free(app->guide); if (guide != NULL) { app->guide = g_variant_dup_string(guide, NULL); } else { @@ -736,6 +766,9 @@ application_free (Application * app) if (app->icon_desc != NULL) { g_free(app->icon_desc); } + if (app->aicon != NULL) { + g_free(app->aicon); + } if (app->aicon_desc != NULL) { g_free(app->aicon_desc); } |