diff -r 29a7df06f410 -r 8a0d96bd9cf4 libpurple/network.c --- a/libpurple/network.c Sun Apr 14 01:26:04 2013 +0200 +++ b/libpurple/network.c Sun Apr 14 15:23:08 2013 +0200 @@ -1129,7 +1129,10 @@ else { current_network_count = cnt; if ((MyWSANSPIoctl = (void*) wpurple_find_and_loadproc("ws2_32.dll", "WSANSPIoctl"))) { - if (!g_thread_create(wpurple_network_change_thread, NULL, FALSE, &err)) + GThread *thread = g_thread_try_new("Network Monitor thread", wpurple_network_change_thread, NULL, &err); + if (thread) + g_thread_unref(thread); + else purple_debug_error("network", "Couldn't create Network Monitor thread: %s\n", err ? err->message : ""); } }