From: Jens Georg Date: Sat, 10 Nov 2012 18:47:59 +0000 (+0100) Subject: Make it possible to call _init multiple times X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e5ad286800f2489d492f0d80a5c78e44492af62f;p=profile%2Fivi%2FGSSDP.git Make it possible to call _init multiple times --- diff --git a/libgssdp/gssdp-client.c b/libgssdp/gssdp-client.c index c96286d..2415bd6 100644 --- a/libgssdp/gssdp-client.c +++ b/libgssdp/gssdp-client.c @@ -95,6 +95,7 @@ struct _GSSDPClientPrivate { GSSDPSocketSource *search_socket; gboolean active; + gboolean initialized; }; enum { @@ -167,6 +168,10 @@ gssdp_client_initable_init (GInitable *initable, { GSSDPClient *client = GSSDP_CLIENT (initable); GError *internal_error = NULL; + + if (client->priv->initialized) + return TRUE; + #ifdef G_OS_WIN32 WSADATA wsaData = {0}; if (WSAStartup (MAKEWORD (2,2), &wsaData) != 0) { @@ -257,6 +262,8 @@ gssdp_client_initable_init (GInitable *initable, gssdp_socket_source_attach (client->priv->multicast_socket); gssdp_socket_source_attach (client->priv->search_socket); + client->priv->initialized = TRUE; + return TRUE; }