File onboard-fix-crash-on-hover.patch of Package onboard
Index: onboard-1.4.3-7/Onboard/osk/osk_devices.c
===================================================================
--- onboard-1.4.3-7.orig/Onboard/osk/osk_devices.c
+++ onboard-1.4.3-7/Onboard/osk/osk_devices.c
@@ -804,6 +804,12 @@ handle_enter_event (int evtype, XIEvent*
return False;
}
+static inline void
+indirect_PyGILState_Release (PyGILState_STATE *gs)
+{
+ PyGILState_Release(*gs);
+}
+
static GdkFilterReturn
osk_devices_event_filter (GdkXEvent *gdk_xevent,
GdkEvent *gdk_event,
@@ -813,6 +819,7 @@ osk_devices_event_filter (GdkXEvent *gd
if (cookie->type == GenericEvent && cookie->extension == dev->xi2_opcode)
{
+ __attribute__((cleanup(indirect_PyGILState_Release))) PyGILState_STATE gs = PyGILState_Ensure();
int evtype = cookie->evtype;
XIEvent *event = cookie->data;