# HG changeset patch # User Nathan Walp # Date 1048370208 0 # Node ID 3bc5a65728fb3864697855889d788f0c090f7e3a # Parent aedb32c5a9201d3bee7e4b33bbc0218f1b5ef1cb [gaim-migrate @ 5195] this should hopefully fix the hanging of gaim when you drag buddies around committer: Tailor Script diff -r aedb32c5a920 -r 3bc5a65728fb src/list.c --- a/src/list.c Sat Mar 22 18:56:29 2003 +0000 +++ b/src/list.c Sat Mar 22 21:56:48 2003 +0000 @@ -201,6 +201,11 @@ struct group *g = group; struct gaim_blist_ui_ops *ops = gaimbuddylist->ui_ops; gboolean save = FALSE; + + /* if we're moving to overtop of ourselves, do nothing */ + if((GaimBlistNode*)buddy == node) + return; + if (!n) { if (!g) { g = gaim_group_new(_("Buddies")); @@ -216,14 +221,14 @@ ops->remove(gaimbuddylist, (GaimBlistNode*)buddy); node2 = ((GaimBlistNode*)buddy)->next; node3 = ((GaimBlistNode*)buddy)->prev; - + if (node2) node2->prev = node3; if (node3) node3->next = node2; if (((GaimBlistNode*)buddy)->parent != n->parent) - serv_move_buddy(buddy, (struct group*)((GaimBlistNode*)buddy)->parent, + serv_move_buddy(buddy, (struct group*)((GaimBlistNode*)buddy)->parent, (struct group*)n->parent); save = TRUE; } @@ -242,7 +247,7 @@ if (ops) ops->update(gaimbuddylist, (GaimBlistNode*)buddy); - if (save) + if (save) gaim_blist_save(); }