summaryrefslogtreecommitdiff
path: root/src/libedataserver/e-source.c
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2020-01-21 18:50:52 +0100
committerMilan Crha <mcrha@redhat.com>2020-01-21 18:57:04 +0100
commit604ba98559758f8002a94869c58ddc693fbc2e51 (patch)
tree127b55a631892f82d47b179d78175f6e520a513f /src/libedataserver/e-source.c
parentd37dc62901cbcfc49221a62d7e8ce31d1c03b9fa (diff)
downloadevolution-data-server-604ba98559758f8002a94869c58ddc693fbc2e51.tar.gz
Prefer GSlice over heap allocation for short-lived structures
It might be quicker to use GSlice than to allocate new memory on the heap, thus let's try to benefit from it.
Diffstat (limited to 'src/libedataserver/e-source.c')
-rw-r--r--src/libedataserver/e-source.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/libedataserver/e-source.c b/src/libedataserver/e-source.c
index e7b8cff54..a77fc27f9 100644
--- a/src/libedataserver/e-source.c
+++ b/src/libedataserver/e-source.c
@@ -4626,7 +4626,7 @@ invoke_credentials_required_data_free (gpointer ptr)
if (data) {
g_free (data->certificate_pem);
g_clear_error (&data->op_error);
- g_free (data);
+ g_slice_free (InvokeCredentialsRequiredData, data);
}
}
@@ -4686,7 +4686,7 @@ e_source_invoke_credentials_required (ESource *source,
g_return_if_fail (E_IS_SOURCE (source));
- data = g_new0 (InvokeCredentialsRequiredData, 1);
+ data = g_slice_new0 (InvokeCredentialsRequiredData);
data->reason = reason;
data->certificate_pem = g_strdup (certificate_pem);
data->certificate_errors = certificate_errors;
@@ -5033,7 +5033,7 @@ source_get_last_credentials_required_arguments_thread (GTask *task,
InvokeCredentialsRequiredData *data;
GError *local_error = NULL;
- data = g_new0 (InvokeCredentialsRequiredData, 1);
+ data = g_slice_new0 (InvokeCredentialsRequiredData);
data->reason = E_SOURCE_CREDENTIALS_REASON_UNKNOWN;
data->certificate_pem = NULL;
data->certificate_errors = 0;
@@ -5046,6 +5046,7 @@ source_get_last_credentials_required_arguments_thread (GTask *task,
if (local_error != NULL) {
g_task_return_error (task, local_error);
+ invoke_credentials_required_data_free (data);
} else {
g_task_return_pointer (task, data, invoke_credentials_required_data_free);
}