There was a little weirdness with the code that called the UI function

Tue, 16 Sep 2008 23:35:45 +0000

author
Mark Doliner <markdoliner@pidgin.im>
date
Tue, 16 Sep 2008 23:35:45 +0000
changeset 24324
a36c5d08a43c
parent 24323
fe88d45063e8
child 24325
9b63613e82ab

There was a little weirdness with the code that called the UI function
for resolving DNS queries. I don't think this affects anyone I know
(not Pidgin, Finich, Adium or Meebo). It would affect someone running
on Unix/Linux and using their own DNS resolution UI op.

And even then the functionality should basically remain the same...
The code is hopefully more clean this way in the event where
ops->resolve_hosts is defined, but returns FALSE for some odd reason.

libpurple/dnsquery.c file | annotate | diff | comparison | revisions
--- a/libpurple/dnsquery.c	Tue Sep 16 23:32:15 2008 +0000
+++ b/libpurple/dnsquery.c	Tue Sep 16 23:35:45 2008 +0000
@@ -490,13 +490,6 @@
 	query_data = queued_requests->data;
 	queued_requests = g_slist_delete_link(queued_requests, queued_requests);
 
-	if (purple_dnsquery_ui_resolve(query_data))
-	{
-		/* The UI is handling the resolve; we're done */
-		handle_next_queued_request();
-		return;
-	}
-
 	/*
 	 * If we have any children, attempt to have them perform the DNS
 	 * query.  If we're able to send the query then resolver will be
@@ -608,6 +601,12 @@
 	query_data = data;
 	query_data->timeout = 0;
 
+	if (purple_dnsquery_ui_resolve(query_data))
+	{
+		/* The UI is handling the resolve; we're done */
+		return FALSE;
+	}
+
 	handle_next_queued_request();
 
 	return FALSE;

mercurial