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;