#0 0x00007ffff6d95d1f in gdk_window_get_window_type (window=0x0) at ././gdk/gdkwindow.c:2240
#1 0x00007ffff72822da in gtk_grab_add (widget=0x555555e40790) at ././gtk/gtkmain.c:2222
#2 0x00007ffff71997d8 in gtk_cell_renderer_accel_start_editing (cell=<optimized out>,
event=0x5555557edd20, widget=<optimized out>, path=0x555555e35720 "2:0",
background_area=<optimized out>, cell_area=<optimized out>, flags=(unknown: 0))
at ././gtk/gtkcellrendereraccel.c:497
#3 0x00007ffff7196700 in gtk_cell_renderer_start_editing (cell=cell@entry=0x555555842270,
event=event@entry=0x5555557edd20, widget=widget@entry=0x555555e08400, path=0x555555e35720 "2:0",
background_area=background_area@entry=0x7fffffffcc40, cell_area=cell_area@entry=0x7fffffffcc40,
flags=(unknown: 0)) at ././gtk/gtkcellrenderer.c:921
#4 0x00007ffff718e601 in gtk_cell_area_activate_cell (area=area@entry=0x555555e02140,
widget=widget@entry=0x555555e08400, renderer=renderer@entry=0x555555842270,
event=event@entry=0x5555557edd20, cell_area=cell_area@entry=0x7fffffffccc0,
flags=flags@entry=(unknown: 0)) at ././gtk/gtkcellarea.c:3432
#5 0x00007ffff718eb0e in gtk_cell_area_real_event (area=0x555555e02140, context=<optimized out>,
widget=0x555555e08400, event=0x5555557edd20, cell_area=0x7fffffffcd80, flags=(unknown: 0))
at ././gtk/gtkcellarea.c:1101
#6 0x00007ffff73bee64 in gtk_tree_view_multipress_gesture_pressed (gesture=0x555555849330,
n_press=1, x=<optimized out>, y=<optimized out>, tree_view=0x555555e08400)
at ././gtk/gtktreeview.c:3324
The code to gtk_grab_add was added as debian patch in gtk+3.0-3.22.7 (libgtk-3-0 package):
debian/patches/016_no_offscreen_widgets_grabbing.patch:+ if (toplevel && gdk_window_get_window_type (gtk_widget_get_window (toplevel)) == GDK_WINDOW_OFFSCREEN)
The warning
(mate-terminal: 14703): Gtk-CRITICAL **: gtk_widget_ get_toplevel: assertion 'GTK_IS_WIDGET (widget)' failed
is from
#0 0x00007ffff6d95d1f in gdk_window_ get_window_ type (window=0x0) at ././gdk/ gdkwindow. c:2240 0x555555e40790) at ././gtk/ gtkmain. c:2222 renderer_ accel_start_ editing (cell=<optimized out>, 0x5555557edd20, widget=<optimized out>, path=0x555555e35720 "2:0", area=<optimized out>, cell_area= <optimized out>, flags=(unknown: 0)) gtkcellrenderer accel.c: 497 renderer_ start_editing (cell=cell@ entry=0x5555558 42270, event@entry= 0x5555557edd20, widget= widget@ entry=0x555555e 08400, path=0x555555e35720 "2:0", area=background _area@entry= 0x7fffffffcc40, cell_area= cell_area@ entry=0x7ffffff fcc40, gtkcellrenderer .c:921 area_activate_ cell (area=area@ entry=0x555555e 02140, widget@ entry=0x555555e 08400, renderer= renderer@ entry=0x5555558 42270, event@entry= 0x5555557edd20, cell_area= cell_area@ entry=0x7ffffff fccc0, flags@entry= (unknown: 0)) at ././gtk/ gtkcellarea. c:3432 area_real_ event (area=0x555555e 02140, context=<optimized out>, 0x555555e08400, event=0x5555557 edd20, cell_area= 0x7fffffffcd80, flags=(unknown: 0)) gtkcellarea. c:1101 view_multipress _gesture_ pressed (gesture= 0x555555849330, 0x555555e08400) gtktreeview. c:3324
#1 0x00007ffff72822da in gtk_grab_add (widget=
#2 0x00007ffff71997d8 in gtk_cell_
event=
background_
at ././gtk/
#3 0x00007ffff7196700 in gtk_cell_
event=
background_
flags=(unknown: 0)) at ././gtk/
#4 0x00007ffff718e601 in gtk_cell_
widget=
event=
flags=
#5 0x00007ffff718eb0e in gtk_cell_
widget=
at ././gtk/
#6 0x00007ffff73bee64 in gtk_tree_
n_press=1, x=<optimized out>, y=<optimized out>, tree_view=
at ././gtk/
The code to gtk_grab_add was added as debian patch in gtk+3.0-3.22.7 (libgtk-3-0 package): patches/ 016_no_ offscreen_ widgets_ grabbing. patch:+ if (toplevel && gdk_window_ get_window_ type (gtk_widget_ get_window (toplevel)) == GDK_WINDOW_ OFFSCREEN)
debian/
Description: Don't let offscreen widget do grabbing /bugzilla. gnome.org/ show_bug. cgi?id= 607668 /bugs.launchpad .net/bugs/ 512427
Author: Cody Russell <email address hidden>
Bug: https:/
Bug-Ubuntu: https:/
critical was reported in https:/ /bugs.launchpad .net/ubuntu/ +source/ gtk+2.0/ +bug/512427/ comments/ 4
SEGV stack has code which works on grabs too:
#0 0x00007ffff5ef5321 in g_type_ check_instance_ is_a () x86_64- linux-gnu/ libgobject- 2.0.so. 0 get_toplevel (widget= 0x555555e40790) at ././gtk/ gtkwidget. c:11521 get_toplevel (GtkWidget *widget) val_if_ fail (GTK_IS_WIDGET (widget), NULL);
from /usr/lib/
#1 0x00007ffff73d61d6 in gtk_widget_
11518 GtkWidget*
11519 gtk_widget_
11520 {
11521 g_return_
#2 0x00007ffff73f79c9 in window_ group_cleanup_ grabs (group=<optimized out>, window@ entry=0x555555d c42f0) at ././gtk/ gtkwindowgroup. c:110 get_toplevel (tmp_list->data) == (GtkWidget*) window)
window=
105 priv = group->priv;
106
107 tmp_list = priv->grabs;
108 while (tmp_list)
109 {
110 if (gtk_widget_
111 to_remove = g_slist_prepend (to_remove, g_object_ref (tmp_list->data));
112 tmp_list = tmp_list->next;
113 }