dx-packages team mailing list archive
-
dx-packages team
-
Mailing list archive
-
Message #04802
[Bug 1244468] Re: implicitly-generated variants are leaked
This bug was fixed in the package indicator-bluetooth -
0.0.6+14.04.20131029.1-0ubuntu1
---------------
indicator-bluetooth (0.0.6+14.04.20131029.1-0ubuntu1) trusty; urgency=low
[ Dmitrijs Ledkovs ]
* Define "ubiquity" indicator profile, reusing the greeter object. (LP:
#1241539)
[ Charles Kerr ]
* explicitly instantiate GVariants to avoid leaking them. See the
description in bug #1244468 for before & after C code and more
information. (LP: #1244468)
[ Ted Gould ]
* Adding a phone_greeter profile.
[ Lars Uebernickel ]
* Desktop menu: mark "Visible" menu item label as translatable. (LP:
#1242038)
[ Ubuntu daily release ]
* Automatic snapshot from revision 75
-- Ubuntu daily release <ps-jenkins@xxxxxxxxxxxxxxxxxxx> Tue, 29 Oct 2013 10:31:12 +0000
** Changed in: indicator-bluetooth (Ubuntu)
Status: New => Fix Released
** Changed in: indicator-sound (Ubuntu)
Status: New => Fix Released
--
You received this bug notification because you are a member of DX
Packages, which is subscribed to indicator-sound in Ubuntu.
Matching subscriptions: dx-packages
https://bugs.launchpad.net/bugs/1244468
Title:
implicitly-generated variants are leaked
Status in Bluetooth Menu:
Fix Committed
Status in Sound Menu:
Fix Committed
Status in Vala:
Fix Released
Status in “indicator-bluetooth” package in Ubuntu:
Fix Released
Status in “indicator-sound” package in Ubuntu:
Fix Released
Bug description:
The implicitly-created GVariant is leaked in Service's
volume_changed() function. We can fix it by making the variant
explicit. But, should this be reported upstream as a Vala bug?
One line diff:
- volume_action.set_state (volume);
+ volume_action.set_state (new Variant.double (volume));
C code generated from "volume_action.set_state (volume)":
static GVariant* _variant_new4 (gdouble value) {
return g_variant_ref_sink (g_variant_new_double (value));
}
static void indicator_sound_service_volume_changed (IndicatorSoundService* self, gdouble volume) {
...
_tmp3_ = volume;
_tmp4_ = _variant_new4 (_tmp3_);
g_simple_action_set_state (volume_action, _tmp4_);
...
}
C code generated from "volume_action.set_state (new Variant.double
(volume))":
static void indicator_sound_service_volume_changed (IndicatorSoundService* self, gdouble volume) {
...
_tmp3_ = volume;
_tmp4_ = g_variant_new_double (_tmp3_);
g_variant_ref_sink (_tmp4_);
_tmp5_ = _tmp4_;
g_simple_action_set_state (volume_action, _tmp5_);
_g_variant_unref0 (_tmp5_);
...
}
To manage notifications about this bug go to:
https://bugs.launchpad.net/indicator-bluetooth/+bug/1244468/+subscriptions