summaryrefslogtreecommitdiff
path: root/gweb
diff options
context:
space:
mode:
Diffstat (limited to 'gweb')
-rw-r--r--gweb/gresolv.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gweb/gresolv.c b/gweb/gresolv.c
index 1f8e372c..322299a7 100644
--- a/gweb/gresolv.c
+++ b/gweb/gresolv.c
@@ -471,6 +471,8 @@ static void sort_and_return_results(struct resolv_lookup *lookup)
char buf[INET6_ADDRSTRLEN + 1];
GResolvResultStatus status;
char **results = g_try_new0(char *, lookup->nr_results + 1);
+ GResolvResultFunc result_func = lookup->result_func;
+ void *result_data = lookup->result_data;
int i, n = 0;
if (!results)
@@ -513,11 +515,11 @@ static void sort_and_return_results(struct resolv_lookup *lookup)
debug(lookup->resolv, "lookup %p received %d results", lookup, n);
g_queue_remove(lookup->resolv->lookup_queue, lookup);
+ destroy_lookup(lookup);
- lookup->result_func(status, results, lookup->result_data);
+ result_func(status, results, result_data);
g_strfreev(results);
- destroy_lookup(lookup);
}
static gboolean query_timeout(gpointer user_data)