[telepathy-gabble/master] Initialize selected_candidate to an appropriate value.
Mike Ruprecht
mike.ruprecht at collabora.co.uk
Tue Dec 29 05:35:08 PST 2009
This simplifies its get handler and fixes a possible problem of freeing
regardless of whether or not it was actually set.
---
src/call-stream-endpoint.c | 30 +++++++++++-------------------
1 files changed, 11 insertions(+), 19 deletions(-)
diff --git a/src/call-stream-endpoint.c b/src/call-stream-endpoint.c
index 7b77d88..f03457c 100644
--- a/src/call-stream-endpoint.c
+++ b/src/call-stream-endpoint.c
@@ -79,6 +79,14 @@ gabble_call_stream_endpoint_init (GabbleCallStreamEndpoint *self)
GabbleCallStreamEndpointPrivate);
self->priv = priv;
+
+ priv->selected_candidate = gabble_value_array_build (4,
+ G_TYPE_UINT, 0,
+ G_TYPE_STRING, "",
+ G_TYPE_UINT, 0,
+ GABBLE_HASH_TYPE_CANDIDATE_INFO,
+ g_hash_table_new (g_str_hash, g_str_equal),
+ G_TYPE_INVALID);
}
static void gabble_call_stream_endpoint_dispose (GObject *object);
@@ -113,22 +121,7 @@ gabble_call_stream_endpoint_get_property (GObject *object,
break;
}
case PROP_SELECTED_CANDIDATE:
- if (priv->selected_candidate == NULL)
- {
- GValueArray *va = gabble_value_array_build (4,
- G_TYPE_UINT, 0,
- G_TYPE_STRING, "",
- G_TYPE_UINT, 0,
- GABBLE_HASH_TYPE_CANDIDATE_INFO,
- g_hash_table_new (g_str_hash, g_str_equal),
- G_TYPE_INVALID);
- g_value_set_boxed (value, va);
- g_boxed_free (GABBLE_STRUCT_TYPE_CANDIDATE, va);
- }
- else
- {
- g_value_set_boxed (value, priv->selected_candidate);
- }
+ g_value_set_boxed (value, priv->selected_candidate);
break;
case PROP_STREAM_STATE:
g_value_set_uint (value, priv->stream_state);
@@ -422,9 +415,8 @@ call_stream_endpoint_set_selected_candidate (
goto error;
}
- if (self->priv->selected_candidate != NULL)
- g_boxed_free (GABBLE_STRUCT_TYPE_CANDIDATE,
- self->priv->selected_candidate);
+ g_boxed_free (GABBLE_STRUCT_TYPE_CANDIDATE,
+ self->priv->selected_candidate);
self->priv->selected_candidate =
g_boxed_copy (GABBLE_STRUCT_TYPE_CANDIDATE, candidate);
--
1.5.6.5
More information about the telepathy-commits
mailing list