Mercurial > pidgin
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 { |