comparison src/gtkblist.c @ 5273:2e1238f4b4e3

[gaim-migrate @ 5645] fix dragging buddies as they're signing off committer: Tailor Script <tailor@pidgin.im>
author Nathan Walp <nwalp@pidgin.im>
date Thu, 01 May 2003 16:44:48 +0000
parents b476a30ef4e3
children ad299f62b9b6
comparison
equal deleted inserted replaced
5272:992550219800 5273:2e1238f4b4e3
63 63
64 static void gaim_gtk_blist_selection_changed(GtkTreeSelection *selection, gpointer data); 64 static void gaim_gtk_blist_selection_changed(GtkTreeSelection *selection, gpointer data);
65 static void gaim_gtk_blist_update(struct gaim_buddy_list *list, GaimBlistNode *node); 65 static void gaim_gtk_blist_update(struct gaim_buddy_list *list, GaimBlistNode *node);
66 static char *gaim_get_tooltip_text(GaimBlistNode *node); 66 static char *gaim_get_tooltip_text(GaimBlistNode *node);
67 static char *item_factory_translate_func (const char *path, gpointer func_data); 67 static char *item_factory_translate_func (const char *path, gpointer func_data);
68 static gboolean get_iter_from_node(GaimBlistNode *node, GtkTreeIter *iter);
68 69
69 struct _gaim_gtk_blist_node { 70 struct _gaim_gtk_blist_node {
70 GtkTreeRowReference *row; 71 GtkTreeRowReference *row;
71 }; 72 };
72 73
478 GtkTreeRowReference *ref = g_object_get_data(G_OBJECT(dc), "gtk-tree-view-source-row"); 479 GtkTreeRowReference *ref = g_object_get_data(G_OBJECT(dc), "gtk-tree-view-source-row");
479 GtkTreePath *sourcerow = gtk_tree_row_reference_get_path(ref); 480 GtkTreePath *sourcerow = gtk_tree_row_reference_get_path(ref);
480 GtkTreeIter iter; 481 GtkTreeIter iter;
481 GaimBlistNode *node = NULL; 482 GaimBlistNode *node = NULL;
482 GValue val = {0}; 483 GValue val = {0};
484 if(!sourcerow)
485 return;
483 gtk_tree_model_get_iter(GTK_TREE_MODEL(gtkblist->treemodel), &iter, sourcerow); 486 gtk_tree_model_get_iter(GTK_TREE_MODEL(gtkblist->treemodel), &iter, sourcerow);
484 gtk_tree_model_get_value (GTK_TREE_MODEL(gtkblist->treemodel), &iter, NODE_COLUMN, &val); 487 gtk_tree_model_get_value (GTK_TREE_MODEL(gtkblist->treemodel), &iter, NODE_COLUMN, &val);
485 node = g_value_get_pointer(&val); 488 node = g_value_get_pointer(&val);
486 gtk_selection_data_set (data, 489 gtk_selection_data_set (data,
487 gdk_atom_intern ("GAIM_BLIST_NODE", FALSE), 490 gdk_atom_intern ("GAIM_BLIST_NODE", FALSE),
488 8, /* bits */ 491 8, /* bits */
489 (void*)&node, 492 (void*)&node,
490 sizeof (node)); 493 sizeof (node));
491 494
492 gtk_tree_path_free(sourcerow); 495 gtk_tree_path_free(sourcerow);
493 } 496 }
494 497
495 } 498 }
496 499
497 static void gaim_gtk_blist_drag_data_rcv_cb(GtkWidget *widget, GdkDragContext *dc, guint x, guint y, 500 static void gaim_gtk_blist_drag_data_rcv_cb(GtkWidget *widget, GdkDragContext *dc, guint x, guint y,
498 GtkSelectionData *sd, guint info, guint t) 501 GtkSelectionData *sd, guint info, guint t)
499 { 502 {