manager: free clients' hash-table with g_free
Since ECalDataModel keeps a ref to the connected EClients there's no need of keeping another and using a custom free function for clients' hash
This commit is contained in:
+3
-14
@@ -90,8 +90,6 @@ enum
|
|||||||
|
|
||||||
static guint signals[LAST_SIGNAL];
|
static guint signals[LAST_SIGNAL];
|
||||||
|
|
||||||
void free_manager_unit_data (gpointer data);
|
|
||||||
|
|
||||||
static void load_source (GcalManager *manager,
|
static void load_source (GcalManager *manager,
|
||||||
ESource *source);
|
ESource *source);
|
||||||
|
|
||||||
@@ -201,18 +199,6 @@ submit_thread_job (EThreadJobFunc func,
|
|||||||
}
|
}
|
||||||
/* -- end: threading related code provided by Milan Crha -- */
|
/* -- end: threading related code provided by Milan Crha -- */
|
||||||
|
|
||||||
void
|
|
||||||
free_manager_unit_data (gpointer data)
|
|
||||||
{
|
|
||||||
GcalManagerUnit *unit;
|
|
||||||
|
|
||||||
unit = (GcalManagerUnit*) data;
|
|
||||||
|
|
||||||
g_clear_object (&(unit->client));
|
|
||||||
|
|
||||||
g_free (unit);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* load_source:
|
* load_source:
|
||||||
* @manager: Manager instance
|
* @manager: Manager instance
|
||||||
@@ -468,6 +454,9 @@ gcal_manager_finalize (GObject *object)
|
|||||||
if (priv->final_date != NULL)
|
if (priv->final_date != NULL)
|
||||||
g_free (priv->final_date);
|
g_free (priv->final_date);
|
||||||
|
|
||||||
|
if (priv->e_data_model != NULL)
|
||||||
|
g_object_unref (priv->e_data_model);
|
||||||
|
|
||||||
g_hash_table_destroy (priv->clients);
|
g_hash_table_destroy (priv->clients);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user