@@ -328,40 +328,6 @@ populate_menu (charpick_data *curr_data)
328328 gtk_style_context_add_class (context ,"mate-panel-menu-bar" );
329329}
330330
331- static void
332- get_menu_pos (GtkMenu * menu , gint * x , gint * y , gboolean * push_in , gpointer data )
333- {
334- charpick_data * curr_data = data ;
335- GtkRequisition reqmenu ;
336- gint tempx , tempy , width , height ;
337- gint screen_width , screen_height ;
338-
339- gtk_widget_get_preferred_size (GTK_WIDGET (menu ), NULL , & reqmenu );
340- gdk_window_get_origin (GDK_WINDOW (gtk_widget_get_window (curr_data -> applet )), & tempx , & tempy );
341- gdk_window_get_geometry (GDK_WINDOW (gtk_widget_get_window (curr_data -> applet )), NULL , NULL ,
342- & width , & height
343- );
344-
345- switch (mate_panel_applet_get_orient (MATE_PANEL_APPLET (curr_data -> applet ))) {
346- case MATE_PANEL_APPLET_ORIENT_DOWN :
347- tempy += height ;
348- break ;
349- case MATE_PANEL_APPLET_ORIENT_UP :
350- tempy -= reqmenu .height ;
351- break ;
352- case MATE_PANEL_APPLET_ORIENT_LEFT :
353- tempx -= reqmenu .width ;
354- break ;
355- case MATE_PANEL_APPLET_ORIENT_RIGHT :
356- tempx += width ;
357- break ;
358- }
359- screen_width = WidthOfScreen (gdk_x11_screen_get_xscreen (gdk_screen_get_default ()));
360- screen_height = HeightOfScreen (gdk_x11_screen_get_xscreen (gdk_screen_get_default ()));
361- * x = CLAMP (tempx , 0 , MAX (0 , screen_width - reqmenu .width ));
362- * y = CLAMP (tempy , 0 , MAX (0 , screen_height - reqmenu .height ));
363- }
364-
365331static void
366332chooser_button_clicked (GtkButton * button , charpick_data * curr_data )
367333{
@@ -371,8 +337,11 @@ chooser_button_clicked (GtkButton *button, charpick_data *curr_data)
371337 gtk_menu_set_screen (GTK_MENU (curr_data -> menu ),
372338 gtk_widget_get_screen (GTK_WIDGET (curr_data -> applet )));
373339
374- gtk_menu_popup (GTK_MENU (curr_data -> menu ), NULL , NULL , get_menu_pos , curr_data ,
375- 0 , gtk_get_current_event_time ());
340+ gtk_menu_popup_at_widget (GTK_MENU (curr_data -> menu ),
341+ GTK_WIDGET (button ),
342+ GDK_GRAVITY_SOUTH_WEST ,
343+ GDK_GRAVITY_NORTH_WEST ,
344+ NULL );
376345 }
377346}
378347
0 commit comments