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