Index: glib/src/rbglib_maincontext.c
===================================================================
--- glib/src/rbglib_maincontext.c (revision 3283)
+++ glib/src/rbglib_maincontext.c (working copy)
@@ -753,6 +753,14 @@
}
#endif
+#ifndef HAVE_RB_THREAD_BLOCKING_REGION
+static void
+ruby_source_remove(VALUE tag)
+{
+ g_source_remove(NUM2UINT(tag));
+}
+#endif
+
void
Init_glib_main_context()
{
@@ -831,7 +839,7 @@
source = ruby_source_new();
tag = g_source_attach(source, NULL);
g_source_unref(source);
- rb_set_end_proc((void (*)(VALUE))g_source_remove, (VALUE)tag);
+ rb_set_end_proc(ruby_source_remove, UINT2NUM(tag));
}
#endif
}