Skip to content

Commit 9edbc59

Browse files
author
raveit65
committed
libslab: replace deprecated gtk_menu_popup
1 parent 4facc83 commit 9edbc59

File tree

1 file changed

+10
-31
lines changed

1 file changed

+10
-31
lines changed

‎libslab/tile.c‎

Lines changed: 10 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,6 @@ static gboolean tile_button_release (GtkWidget *, GdkEventButton *);
5252
static gboolean tile_key_release (GtkWidget *, GdkEventKey *);
5353
static gboolean tile_popup_menu (GtkWidget *);
5454

55-
static void tile_popup_menu_position (GtkMenu *, gint *, gint *, gboolean *, gpointer);
56-
5755
static void tile_drag_begin (GtkWidget *, GdkDragContext *);
5856
static void tile_drag_data_get (GtkWidget *, GdkDragContext *, GtkSelectionData *, guint,
5957
guint);
@@ -377,8 +375,11 @@ tile_button_release (GtkWidget * widget, GdkEventButton * event)
377375

378376
case 3:
379377
if (GTK_IS_MENU (tile->context_menu))
380-
gtk_menu_popup (tile->context_menu, NULL, NULL, NULL, NULL, event->button,
381-
event->time);
378+
gtk_menu_popup_at_widget (GTK_MENU (tile->context_menu),
379+
widget,
380+
GDK_GRAVITY_SOUTH_WEST,
381+
GDK_GRAVITY_NORTH_WEST,
382+
(const GdkEvent*) event);
382383

383384
break;
384385

@@ -408,40 +409,18 @@ tile_key_release (GtkWidget * widget, GdkEventKey * event)
408409
return FALSE;
409410
}
410411

411-
static void
412-
tile_popup_menu_position (GtkMenu * menu, gint * x, gint * y, gboolean * push_in, gpointer data)
413-
{
414-
Tile *tile = TILE (data);
415-
416-
GtkAllocation all;
417-
GtkRequisition req;
418-
GtkWidget *top;
419-
420-
if (!gtk_widget_get_realized (GTK_WIDGET (tile)))
421-
return;
422-
423-
gtk_widget_get_preferred_size (GTK_WIDGET (menu), &req, NULL);
424-
gtk_widget_get_allocation (GTK_WIDGET (menu), &all);
425-
426-
top = gtk_widget_get_toplevel (GTK_WIDGET (tile));
427-
428-
gdk_window_get_origin (gtk_widget_get_window (top), x, y);
429-
430-
*x += (all.width / 2) - (req.width / 2);
431-
*y += (all.height / 2) - (req.height / 2);
432-
433-
*push_in = FALSE;
434-
}
435-
436412
static gboolean
437413
tile_popup_menu (GtkWidget * widget)
438414
{
439415
Tile *tile = TILE (widget);
440416

441417
if (GTK_IS_MENU (tile->context_menu))
442418
{
443-
gtk_menu_popup (tile->context_menu, NULL, NULL, tile_popup_menu_position, tile, 0,
444-
gtk_get_current_event_time ());
419+
gtk_menu_popup_at_widget (GTK_MENU (tile->context_menu),
420+
widget,
421+
GDK_GRAVITY_SOUTH_WEST,
422+
GDK_GRAVITY_NORTH_WEST,
423+
NULL);
445424

446425
return TRUE;
447426
}

0 commit comments

Comments
 (0)