summaryrefslogtreecommitdiffstats
path: root/src/network/kernel/qnetworkproxy_mac.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/kernel/qnetworkproxy_mac.cpp')
-rw-r--r--src/network/kernel/qnetworkproxy_mac.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/network/kernel/qnetworkproxy_mac.cpp b/src/network/kernel/qnetworkproxy_mac.cpp
index c13a472b90..92f91956b9 100644
--- a/src/network/kernel/qnetworkproxy_mac.cpp
+++ b/src/network/kernel/qnetworkproxy_mac.cpp
@@ -189,12 +189,19 @@ struct PACInfo {
void proxyAutoConfigCallback(void *client, CFArrayRef proxylist, CFErrorRef error)
{
- PACInfo *info = reinterpret_cast<PACInfo *>(reinterpret_cast<CFStreamClientContext *>(client)->info);
+ Q_ASSERT(client);
+
+ PACInfo *info = static_cast<PACInfo *>(client);
info->done = true;
- if (proxylist)
+
+ if (error) {
+ CFRetain(error);
+ info->error = error;
+ }
+ if (proxylist) {
CFRetain(proxylist);
- info->proxies = proxylist;
- info->error = error;
+ info->proxies = proxylist;
+ }
}
} // anon namespace