Revision 50bcc4f39ba86c7b712fa91646ac6e0efbc01c3c
nosnilmot at pidgin.im
nosnilmot at pidgin.im
Wed Apr 11 01:23:03 EDT 2007
o -----------------------------------------------------------------
| Revision: 50bcc4f39ba86c7b712fa91646ac6e0efbc01c3c
| Ancestor: 6c800bac6a7067cf6c677f23a631e715fa49db1c
| Author: nosnilmot
| Date: 2005-01-13T19:47:10
| Branch: im.pidgin.gaim.oldstatus
|
| Modified files:
| src/gtkblist.c
|
| ChangeLog:
|
| [gaim-migrate @ 11815]
| plug that leak again, and fix why we couldn't plug it before.
| ============================================================
| --- src/gtkblist.c 5efdfd54597df52f470cf5f8750bc67fdd694e72
| +++ src/gtkblist.c 3a2a543c6b5828b4786717f3bf0cb966e22270fe
| @@ -3532,9 +3532,10 @@ static void gaim_gtk_blist_remove(GaimBu
| * valgrind found several reasons why it's good. If this causes problems
| * comment it out again. Stu */
| /* Of course it still causes problems - this breaks dragging buddies into
| - * contacts, the dragged buddy mysteriously 'disappears'. Stu.
| + * contacts, the dragged buddy mysteriously 'disappears'. Stu. */
| + /* I think it's fixed now. Stu. */
| g_free(node->ui_data);
| - node->ui_data = NULL; */
| + node->ui_data = NULL;
| }
|
| static gboolean do_selection_changed(GaimBlistNode *new_selection)
| @@ -3574,7 +3575,7 @@ static gboolean insert_node(GaimBuddyLis
| struct _gaim_gtk_blist_node *gtknode = node->ui_data;
| GtkTreePath *newpath;
|
| - if(!gtknode || !iter)
| + if(!iter)
| return FALSE;
|
| if(node->parent && !get_iter_from_node(node->parent, &parent_iter))
| @@ -3589,7 +3590,17 @@ static gboolean insert_node(GaimBuddyLis
| *iter = sort_method_none(node, list, parent_iter, curptr);
| }
|
| - gtk_tree_row_reference_free(gtknode->row);
| + if(gtknode != NULL) {
| + gtk_tree_row_reference_free(gtknode->row);
| + } else {
| + gaim_gtk_blist_new_node(node);
| + gtknode = (struct _gaim_gtk_blist_node *)node->ui_data;
| + /* If the node is a contact, and gtknode was NULL, it's because it was dragged.
| + * It *must* have been expanded in order for it to be dragged. */
| + if(GAIM_BLIST_NODE_IS_CONTACT(node))
| + gtknode->contact_expanded = TRUE;
| + }
| +
| newpath = gtk_tree_model_get_path(GTK_TREE_MODEL(gtkblist->treemodel),
| iter);
| gtknode->row =
| @@ -3738,7 +3749,6 @@ static void gaim_gtk_blist_update_contac
| /* First things first, update the group */
| gaim_gtk_blist_update_group(list, node->parent);
|
| - gtknode = (struct _gaim_gtk_blist_node *)node->ui_data;
| contact = (GaimContact*)node;
| buddy = gaim_contact_get_priority_buddy(contact);
|
| @@ -3751,6 +3761,8 @@ static void gaim_gtk_blist_update_contac
| if(!insert_node(list, node, &iter))
| return;
|
| + gtknode = (struct _gaim_gtk_blist_node *)node->ui_data;
| +
| if(gtknode->contact_expanded) {
| GdkPixbuf *status;
| char *mark;
To get the patch for this revision, please do this:
mtn log --last 1 --diffs --from 50bcc4f39ba86c7b712fa91646ac6e0efbc01c3c
More information about the Commits
mailing list