Changeset 627

Show
Ignore:
Timestamp:
07/24/05 16:15:06 (3 years ago)
Author:
jajcus
Message:

- fixed sending unavailable presence on exit

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/sessions.c

    r625 r627  
    621621        if (s->timeout_func) g_source_remove(s->timeout_func); 
    622622        if (s->ping_timer) g_timer_destroy(s->ping_timer); 
     623        session_remove_g_source(s); 
     624        if (s->ggs){ 
     625                if (s->connected){ 
     626                        debug("gg_logoff(%p)",s->ggs); 
     627                        gg_logoff(s->ggs); 
     628                } 
     629                gg_free_session(s->ggs); 
     630        } 
     631        while(s->resources) resource_remove((Resource *)s->resources->data,0); 
    623632        if (s->connected && s->s && s->jid){ 
    624633                presence_send(s->s,NULL,s->user->jid,0,NULL,"Offline",0); 
     
    634643                } 
    635644        } 
    636         session_remove_g_source(s); 
    637         if (s->ggs){ 
    638                 if (s->connected){ 
    639                         debug("gg_logoff(%p)",s->ggs); 
    640                         gg_logoff(s->ggs); 
    641                 } 
    642                 gg_free_session(s->ggs); 
    643         } 
    644         while(s->resources) resource_remove((Resource *)s->resources->data,0); 
    645645        if (s->query) xmlnode_free(s->query); 
    646646        if (s->user) user_unref(s->user); 
     
    674674 
    675675        if (!r) { 
    676                 if (send_presence) presence_send(s->s,NULL,s->user->jid,1,NULL,s->gg_status_descr,0); 
     676                if (send_presence) presence_send(s->s,NULL,s->user->jid,FALSE,NULL,s->gg_status_descr,0); 
    677677                return -1; 
    678678        }