Mercurial > pidgin.yaz
comparison libpurple/protocols/msn/slpcall.c @ 24338:9b253ce969d0
msn_slplink_remove_slpcall() shouldn't be responsible for setting
slpcall->slplink to NULL. In fact, msn_slp_call_destroy() shouldn't
even call msn_slplink_remove_slpcall() until it knows that it doesn't
need the slplink anymore. So move the call to
msn_slplink_remove_slpcall() further down in that function.
Now we no longer need the return value from msn_switchboard_release().
That return value, by the way, was dumb. If you're no longer using
the MsnSwitchBoard then you're not using it and you shouldn't care
if it was destroyed or not.
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Thu, 13 Nov 2008 07:22:39 +0000 |
parents | f0160066b58b |
children | 33697964e62b |
comparison
equal
deleted
inserted
replaced
24337:f0160066b58b | 24338:9b253ce969d0 |
---|---|
108 } | 108 } |
109 } | 109 } |
110 | 110 |
111 session = slpcall->slplink->session; | 111 session = slpcall->slplink->session; |
112 | 112 |
113 msn_slplink_remove_slpcall(slpcall->slplink, slpcall); | |
114 | |
115 if (slpcall->end_cb != NULL) | 113 if (slpcall->end_cb != NULL) |
116 slpcall->end_cb(slpcall, session); | 114 slpcall->end_cb(slpcall, session); |
117 | 115 |
118 if (slpcall->xfer != NULL) { | 116 if (slpcall->xfer != NULL) { |
119 slpcall->xfer->data = NULL; | 117 slpcall->xfer->data = NULL; |
120 purple_xfer_unref(slpcall->xfer); | 118 purple_xfer_unref(slpcall->xfer); |
121 } | 119 } |
120 | |
121 msn_slplink_remove_slpcall(slpcall->slplink, slpcall); | |
122 | 122 |
123 g_free(slpcall->id); | 123 g_free(slpcall->id); |
124 g_free(slpcall->branch); | 124 g_free(slpcall->branch); |
125 g_free(slpcall->data_info); | 125 g_free(slpcall->data_info); |
126 | 126 |