Mercurial > pidgin.yaz
comparison src/list.c @ 4941:d7a549ab95c2
[gaim-migrate @ 5275]
really fix the assorted buddy dragging hangs
committer: Tailor Script <tailor@pidgin.im>
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Tue, 01 Apr 2003 06:09:07 +0000 |
parents | 461e8c89514f |
children | 6a0b1eb407e5 |
comparison
equal
deleted
inserted
replaced
4940:3708545afe42 | 4941:d7a549ab95c2 |
---|---|
200 GaimBlistNode *n = node, *node2, *node3; | 200 GaimBlistNode *n = node, *node2, *node3; |
201 struct group *g = group; | 201 struct group *g = group; |
202 struct gaim_blist_ui_ops *ops = gaimbuddylist->ui_ops; | 202 struct gaim_blist_ui_ops *ops = gaimbuddylist->ui_ops; |
203 gboolean save = FALSE; | 203 gboolean save = FALSE; |
204 | 204 |
205 /* if we're moving to overtop of ourselves, do nothing */ | |
206 if((GaimBlistNode*)buddy == node) | |
207 return; | |
208 | |
209 if (!n) { | 205 if (!n) { |
210 if (!g) { | 206 if (!g) { |
211 g = gaim_group_new(_("Buddies")); | 207 g = gaim_group_new(_("Buddies")); |
212 gaim_blist_add_group(g, NULL); | 208 gaim_blist_add_group(g, NULL); |
213 } | 209 } |
214 n = gaim_blist_get_last_child((GaimBlistNode*)g); | 210 n = gaim_blist_get_last_child((GaimBlistNode*)g); |
215 } | 211 } |
212 | |
213 /* if we're moving to overtop of ourselves, do nothing */ | |
214 if((GaimBlistNode*)buddy == n) | |
215 return; | |
216 | 216 |
217 if (((GaimBlistNode*)buddy)->parent) { | 217 if (((GaimBlistNode*)buddy)->parent) { |
218 /* This buddy was already in the list and is | 218 /* This buddy was already in the list and is |
219 * being moved. | 219 * being moved. |
220 */ | 220 */ |
282 if (!gaimbuddylist->root) { | 282 if (!gaimbuddylist->root) { |
283 gaimbuddylist->root = (GaimBlistNode*)group; | 283 gaimbuddylist->root = (GaimBlistNode*)group; |
284 return; | 284 return; |
285 } | 285 } |
286 | 286 |
287 if (!node) | |
288 node = gaim_blist_get_last_sibling(gaimbuddylist->root); | |
289 | |
287 /* if we're moving to overtop of ourselves, do nothing */ | 290 /* if we're moving to overtop of ourselves, do nothing */ |
288 if((GaimBlistNode*)group == node) | 291 if((GaimBlistNode*)group == node) |
289 return; | 292 return; |
290 | |
291 if (!node) | |
292 node = gaim_blist_get_last_sibling(gaimbuddylist->root); | |
293 | 293 |
294 if (gaim_find_group(group->name)) { | 294 if (gaim_find_group(group->name)) { |
295 /* This is just being moved */ | 295 /* This is just being moved */ |
296 GaimBlistNode *node2 = ((GaimBlistNode*)group)->next; | 296 GaimBlistNode *node2 = ((GaimBlistNode*)group)->next; |
297 GaimBlistNode *node3 = ((GaimBlistNode*)group)->prev; | 297 GaimBlistNode *node3 = ((GaimBlistNode*)group)->prev; |