1

I have an application for which the user can open context menus inside a tree view. To get the current path after a right mouse click I use

gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (treeview), event_button->x, event_button->y, &path, NULL, NULL, NULL), (event_button is of type GdkEventButton, which has been passed to the function)

which always reliably returns the correct path. I have ported my application to GTK4 now, where it is no longer possible to directly access the elements of an event. So I thought the way to go would be getting the coordinates by using

gdk_event_get_coords (event, &x_win, &y_win) (x_win and y_win are of type double)

and then

gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (treeview), (gint) x_win, (gint) y_win, &path, NULL, NULL, NULL).

However, with the coordinates received by gdk_event_get_coords I always end up with the following path inside the tree view (x_win delivers the value as expected). How can I retrieve the same values as in GTK3?

Jonathan Hall
  • 75,165
  • 16
  • 143
  • 189
GTK 1.2.6 fanboy
  • 839
  • 1
  • 5
  • 20

1 Answers1

0

Using gtk_tree_view_convert_widget_to_bin_window_coords after gdk_event_get_coords does convert the original values to the expected results. The path is now the correct one.

GTK 1.2.6 fanboy
  • 839
  • 1
  • 5
  • 20