Skip to content

Fix broken context menu positioning

Niels De Graef requested to merge nielsdg/fix-context-menus into master

Fixes #5319 (closed)

app: Popup menu at pointer in GimpEditor                               
                                                                       
Rather than trying to fix up our own heuristics using a                
`GtkMenuPositionFunc`, use the API that GTK provides to have popup     
nicely placed near the pointer, which also has the benefit of nicely   
integrating with GDK backends such as Wayland.                         
app: Popup menu at rect in GimpEditor                                  
                                                                       
Rather than trying to fix up our own heuristics using a                
`GtkMenuPositionFunc`, use whatever GTK provides to position given a   
specific rectangle, which also has the benefit of nicely integrating   
with GDK backends such as Wayland. Another advantage is that we can use
GdkGravity to center the popup.                                        
                                                                       
Since GTK 3, GtkWidget also gained a "popup-menu" signal, which we     
can/should use instead of rolling our own context signals.             
app: Remove old GimpUiManager popup API                                
                                                                       
The code used `gtk_menu_popup()`, which was deprecated a while ago, as 
it was broken on certain GDK backends, like Wayland.                   
                                                                       
Fixes https://gitlab.gnome.org/GNOME/gimp/-/issues/5319    
Edited by Niels De Graef

Merge request reports