summaryrefslogtreecommitdiffstats
path: root/src/network
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-01-30 17:31:21 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2017-01-30 17:31:21 +0000
commit5a70c5e7f521cf95429ad1d7003ff9ea9dfa0bcf (patch)
treeb36eb6485816b0868f0b26cc559cc97e562d25e9 /src/network
parent84fa396d84103770a345a06f7cf151ae17c00b67 (diff)
parent246799d8a7bf42c1f22fca7ef6d77e8d58054bad (diff)
Merge "Merge remote-tracking branch 'origin/5.8' into dev" into refs/staging/dev
Diffstat (limited to 'src/network')
-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