From d17962aa5e6201d471412f678e0bba29b3e3fa71 Mon Sep 17 00:00:00 2001
From: Lars Kanis <lars@greiz-reinsdorf.de>
Date: Wed, 24 Jun 2015 21:36:15 +0200
Subject: [PATCH] GVL-wrap FXRbLookupHandler()

---
 ext/fox16_c/FXRuby.cpp             | 2 +-
 ext/fox16_c/include/FXRuby.h       | 2 +-
 ext/fox16_c/include/gvl_wrappers.h | 4 ++++
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/ext/fox16_c/FXRuby.cpp b/ext/fox16_c/FXRuby.cpp
index c3d10e4..51651a7 100644
--- a/ext/fox16_c/FXRuby.cpp
+++ b/ext/fox16_c/FXRuby.cpp
@@ -1246,7 +1246,7 @@ static ID id_assocs;
  * or return zero if the designated receiver doesn't handle this
  * message.
  */
-ID FXRbLookupHandler(FXObject* recv,FXSelector key){
+ID FXRbLookupHandler_gvlcb(FXObject* recv,FXSelector key){
   FXTRACE((100,"FXRbLookupHandler(recv=%p(%s),FXSEL(%d,%d))\n",recv,recv->getClassName(),FXSELTYPE(key),FXSELID(key)));
   ID id=0;
   VALUE rubyObj=to_ruby(recv);
diff --git a/ext/fox16_c/include/FXRuby.h b/ext/fox16_c/include/FXRuby.h
index 43b6750..20b65fb 100644
--- a/ext/fox16_c/include/FXRuby.h
+++ b/ext/fox16_c/include/FXRuby.h
@@ -175,7 +175,7 @@ extern FXColor *FXRbConvertToFXColors(VALUE string_or_ary, FXuint *opts);
 extern void* FXRbGetExpectedData(VALUE recv,FXSelector key,VALUE data);
 
 // Returns the name of the message handler function (or NULL)
-ID FXRbLookupHandler(FXObject* recv,FXSelector key);
+ID FXRbLookupHandler_gvlcb(FXObject* recv,FXSelector key);
 
 // Handle this message
 long FXRbHandleMessage_gvlcb(FXObject* recv,ID func,FXObject* sender,FXSelector key,void* data);
diff --git a/ext/fox16_c/include/gvl_wrappers.h b/ext/fox16_c/include/gvl_wrappers.h
index 1a12c4f..ba24899 100644
--- a/ext/fox16_c/include/gvl_wrappers.h
+++ b/ext/fox16_c/include/gvl_wrappers.h
@@ -420,6 +420,9 @@ FOR_EACH_BLOCKING_FUNCTION( DEFINE_GVL_STUB_DECL )
   param(TYPE2, , arg2) \
   param(TYPE3, , arg3)
 
+#define FOR_EACH_PARAM_OF_FXRbLookupHandler_2(param) \
+  param(ITEMB, , itemb)
+
 #define FOR_EACH_PARAM_OF_FXRbHandleMessage_5(param) \
   param(ID, , func) \
   param(TYPE1, , arg1) \
@@ -499,6 +502,7 @@ FOR_EACH_BLOCKING_FUNCTION( DEFINE_GVL_STUB_DECL )
   function(FXRbCallRangeMethod, GVL_TYPE_NONVOID, FXRangef, RECV, recv, 2) \
   function(FXRbCallWCharMethod, GVL_TYPE_NONVOID, FXwchar, RECV, recv, 2) \
   function(FXRbCallSetDashes, GVL_TYPE_VOID, void, RECV, recv, 5) \
+  function(FXRbLookupHandler, GVL_TYPE_NONVOID, ID, RECV, recv, 2) \
   function(FXRbHandleMessage, GVL_TYPE_NONVOID, long, RECV, recv, 5) \
   function(FXRbComboBox_sortFunc, GVL_TYPE_NONVOID, FXint, ITEMA, itema, 2) \
   function(FXRbFoldingList_sortFunc, GVL_TYPE_NONVOID, FXint, ITEMA, itema, 2) \
-- 
GitLab