diff options
author | Charles Kerr <charles.kerr@canonical.com> | 2012-02-01 18:55:19 -0600 |
---|---|---|
committer | Charles Kerr <charles.kerr@canonical.com> | 2012-02-01 18:55:19 -0600 |
commit | 85a04b44e3e4f77db07c52ab8667195c6c98cedf (patch) | |
tree | 6f68abdbf41fc1915c9b3fa2261d1609f4f7be39 | |
parent | 17626e17645023a17e843bedac589d6218ac38bf (diff) | |
download | ayatana-indicator-power-85a04b44e3e4f77db07c52ab8667195c6c98cedf.tar.gz ayatana-indicator-power-85a04b44e3e4f77db07c52ab8667195c6c98cedf.tar.bz2 ayatana-indicator-power-85a04b44e3e4f77db07c52ab8667195c6c98cedf.zip |
unref+clear Priv's variant fields in _dispose()
-rw-r--r-- | src/indicator-power.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/src/indicator-power.c b/src/indicator-power.c index 6b95b4c..4eebf3a 100644 --- a/src/indicator-power.c +++ b/src/indicator-power.c @@ -50,6 +50,11 @@ with this program. If not, see <http://www.gnu.org/licenses/>. #define IS_INDICATOR_POWER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), INDICATOR_POWER_TYPE)) #define INDICATOR_POWER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), INDICATOR_POWER_TYPE, IndicatorPowerClass)) +GType indicator_power_get_type (void); + +INDICATOR_SET_VERSION +INDICATOR_SET_TYPE (INDICATOR_POWER_TYPE) + typedef struct _IndicatorPower IndicatorPower; typedef struct _IndicatorPowerClass IndicatorPowerClass; typedef struct _IndicatorPowerPrivate IndicatorPowerPrivate; @@ -66,8 +71,6 @@ struct _IndicatorPowerClass IndicatorObjectClass parent_class; }; -GType indicator_power_get_type (void) G_GNUC_CONST; - struct _IndicatorPowerPrivate { @@ -101,10 +104,6 @@ static const gchar* get_name_hint (IndicatorObject * io); G_DEFINE_TYPE (IndicatorPower, indicator_power, INDICATOR_OBJECT_TYPE); -/* Indicator stuff */ -INDICATOR_SET_VERSION -INDICATOR_SET_TYPE (INDICATOR_POWER_TYPE) - static void indicator_power_class_init (IndicatorPowerClass *klass) @@ -901,6 +900,16 @@ indicator_power_dispose (GObject *object) { IndicatorPowerPrivate *priv = INDICATOR_POWER(object)->priv; + if (priv->devices != NULL) { + g_variant_unref (priv->devices); + priv->devices = NULL; + } + + if (priv->device != NULL) { + g_variant_unref (priv->device); + priv->device = NULL; + } + g_clear_object (&priv->settings); G_OBJECT_CLASS (indicator_power_parent_class)->dispose (object); |