app: fix a segmentation fault crash.
gtk_widget_get_window() may return NULL. I had the case when opening
some menus in bottom of tool options (like the "Save|Restore Tool
Preset" menus). We must check this before doing anything with it.
(cherry picked from commit 0a28534a90
)
This commit is contained in:
@ -1052,18 +1052,22 @@ gimp_ui_manager_item_key_press (GtkWidget *widget,
|
||||
{
|
||||
GtkWidget *parent = gtk_widget_get_parent (widget);
|
||||
GdkWindow *window = gtk_widget_get_window (parent);
|
||||
gint x, y;
|
||||
|
||||
gdk_window_get_pointer (window, &x, &y, NULL);
|
||||
menu_item = find_widget_under_pointer (window, &x, &y);
|
||||
|
||||
if (menu_item && ! GTK_IS_MENU_ITEM (menu_item))
|
||||
if (window)
|
||||
{
|
||||
menu_item = gtk_widget_get_ancestor (menu_item,
|
||||
GTK_TYPE_MENU_ITEM);
|
||||
gint x, y;
|
||||
|
||||
if (! GTK_IS_MENU_ITEM (menu_item))
|
||||
menu_item = NULL;
|
||||
gdk_window_get_pointer (window, &x, &y, NULL);
|
||||
menu_item = find_widget_under_pointer (window, &x, &y);
|
||||
|
||||
if (menu_item && ! GTK_IS_MENU_ITEM (menu_item))
|
||||
{
|
||||
menu_item = gtk_widget_get_ancestor (menu_item,
|
||||
GTK_TYPE_MENU_ITEM);
|
||||
|
||||
if (! GTK_IS_MENU_ITEM (menu_item))
|
||||
menu_item = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user