diff options
| author | Lennart Poettering <lennart@poettering.net> | 2005-06-17 14:07:31 +0000 | 
|---|---|---|
| committer | Lennart Poettering <lennart@poettering.net> | 2005-06-17 14:07:31 +0000 | 
| commit | 38cce0e6032f760ca98228907b9d7c6068269aeb (patch) | |
| tree | 7766930fc68340820715b163f11385ddfdc9a9e0 | |
| parent | 2d8306950f20e3341ddd66adfdd5feceee3660e5 (diff) | |
* make sure to free some more time events
git-svn-id: file:///home/lennart/svn/public/avahi/trunk@124 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
| -rw-r--r-- | avahi-core/resolve-address.c | 7 | ||||
| -rw-r--r-- | avahi-core/resolve-host-name.c | 12 | 
2 files changed, 13 insertions, 6 deletions
diff --git a/avahi-core/resolve-address.c b/avahi-core/resolve-address.c index 53e4468..07cbef4 100644 --- a/avahi-core/resolve-address.c +++ b/avahi-core/resolve-address.c @@ -46,8 +46,10 @@ static void finish(AvahiAddressResolver *r, gint interface, guchar protocol, Ava      avahi_record_browser_free(r->record_browser);      r->record_browser = NULL; -    avahi_time_event_queue_remove(r->server->time_event_queue, r->time_event); -    r->time_event = NULL; +    if (r->time_event) { +        avahi_time_event_queue_remove(r->server->time_event_queue, r->time_event); +        r->time_event = NULL; +    }      r->callback(r, interface, protocol, event, &r->address, record ? record->data.ptr.name : NULL, r->userdata);  } @@ -109,7 +111,6 @@ AvahiAddressResolver *avahi_address_resolver_new(AvahiServer *server, gint inter      r->record_browser = avahi_record_browser_new(server, interface, protocol, k, record_browser_callback, r);      avahi_key_unref(k); -      return r;  } diff --git a/avahi-core/resolve-host-name.c b/avahi-core/resolve-host-name.c index 2cfd435..c10119a 100644 --- a/avahi-core/resolve-host-name.c +++ b/avahi-core/resolve-host-name.c @@ -55,9 +55,11 @@ static void finish(AvahiHostNameResolver *r, gint interface, guchar protocol, Av          avahi_record_browser_free(r->record_browser_aaaa);          r->record_browser_aaaa = NULL;      } -  -    avahi_time_event_queue_remove(r->server->time_event_queue, r->time_event); -    r->time_event = NULL; + +    if (r->time_event) { +        avahi_time_event_queue_remove(r->server->time_event_queue, r->time_event); +        r->time_event = NULL; +    }      if (record) {          switch (record->key->type) { @@ -148,8 +150,12 @@ void avahi_host_name_resolver_free(AvahiHostNameResolver *r) {      if (r->record_browser_a)          avahi_record_browser_free(r->record_browser_a); +      if (r->record_browser_aaaa)          avahi_record_browser_free(r->record_browser_aaaa); + +    if (r->time_event) +        avahi_time_event_queue_remove(r->server->time_event_queue, r->time_event);      g_free(r->host_name);      g_free(r);  | 
