# HG changeset patch # User Sadrul Habib Chowdhury # Date 1278946480 0 # Node ID db7ffb0120d7e2ebafa091305ff5ada7ae6c7daa # Parent 681cb01471534c34102dcbba2d48e543bf09b877 Remove some timeout/input handlers for upnp. I made this change a few months back, and I believe it helped someone fix a crash. Unfortunately I don't remember all the details. But the changes still look good. diff -r 681cb0147153 -r db7ffb0120d7 libpurple/upnp.c --- a/libpurple/upnp.c Sat Jul 10 00:30:06 2010 +0000 +++ b/libpurple/upnp.c Mon Jul 12 14:54:40 2010 +0000 @@ -403,6 +403,11 @@ lookup_internal_ip(); } + if (dd->inpa > 0) + purple_input_remove(dd->inpa); + if (dd->tima > 0) + purple_timeout_remove(dd->tima); + g_free(dd); } @@ -506,6 +511,8 @@ if (dd->inpa) purple_input_remove(dd->inpa); + if (dd->tima > 0) + purple_timeout_remove(dd->tima); dd->inpa = 0; dd->tima = 0; @@ -610,7 +617,7 @@ /* We have already done all our retries. Make sure that the callback * doesn't get called before the original function returns */ - purple_timeout_add(10, purple_upnp_discover_timeout, dd); + dd->tima = purple_timeout_add(10, purple_upnp_discover_timeout, dd); } void @@ -647,7 +654,7 @@ "purple_upnp_discover(): Failed In sock creation\n"); /* Short circuit the retry attempts */ dd->retry_count = NUM_UDP_ATTEMPTS; - purple_timeout_add(10, purple_upnp_discover_timeout, dd); + dd->tima = purple_timeout_add(10, purple_upnp_discover_timeout, dd); return; } @@ -659,7 +666,7 @@ "purple_upnp_discover(): Failed In gethostbyname\n"); /* Short circuit the retry attempts */ dd->retry_count = NUM_UDP_ATTEMPTS; - purple_timeout_add(10, purple_upnp_discover_timeout, dd); + dd->tima = purple_timeout_add(10, purple_upnp_discover_timeout, dd); return; }