GNOME Bugzilla – Bug 696756
x11: gdk_device_get_source : assertion `GDK_IS_DEVICE(source)` failed
Last modified: 2013-09-16 10:55:12 UTC
The probleme comes from the function gdk_device_virtual_ungrab (#4 from the bt). It calls _gdk_display_device_grab_update with the third argument NULL. Following the stack, the program arrives in the "gdkwindow.c", in the function send_crossing_event (#9). Of course, source_device = NULL. I have the warning when gdk_device_get_source is call. The bt is the following : Program received signal SIGTRAP, Trace/breakpoint trap. 0x023f1972 in g_logv (log_domain=0xdeeeb7 "Gdk", log_level=G_LOG_LEVEL_CRITICAL, format=0x2474f58 "%s: assertion `%s' failed", args=0x22ecfc "ìó\336") at gmessages.c:969 (gdb) warning: BTMMHOOK 28.03.2013 09:19:39 Thread<04A0> Hook DLL loaded 969 gmessages.c: No such file or directory. bt
+ Trace 231693
Same under X11:
+ Trace 231990
Not sure this is specific to win32, I got a similar bt when running WebKit unit tests: (Programs/WebKit2APITests/TestContextMenu:3109): Gdk-CRITICAL **: gdk_device_get_source: assertion 'GDK_IS_DEVICE (device)' failed Program received signal SIGTRAP, Trace/breakpoint trap. 0xb5349541 in g_logv (log_domain=log_domain@entry=0xb577f6d6 "Gdk", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0xb53b56ac "%s: assertion '%s' failed", args=args@entry=0xbfffe2ac "\347Ox\265W\373w\265\260&\377\267") at gmessages.c:989 989 G_BREAKPOINT (); (gdb) bt
+ Trace 232091
Created attachment 247133 [details] [review] Patch for X11 This fixes the problem in X11, I guess something similar happens in win32.
I still get this with the patch applied: Gdk-CRITICAL **: gdk_device_ungrab: assertion `GDK_IS_DEVICE (device)' failed
+ Trace 232092
Created attachment 247289 [details] [review] Patch for win32 Carlos, you were right. The enclosed patch solve the problem for Win32.
Hi, The Win32 patch also fixes the problem for me on Windows, at least on GTK+ master. With blessings, thank you!
*** Bug 690838 has been marked as a duplicate of this bug. ***
Hi Le Garrec Vincent, I have incorporated your patch for Win32 as part of commit bd596144 for the master branch (but not 3.8, as 3.10 is not too far from now). Thanks, with blessings.
Reopening because the X11 backend was not fixed.
Comment on attachment 247133 [details] [review] Patch for X11 The X11 patch is obviously right, that check happens in other places too. Sorry for not chiming in till now...
Comment on attachment 247133 [details] [review] Patch for X11 Pushed.