I would suggest processing IUP low level callback messages, like mouse-move, without attempting to pass the callback to SB.
I do that now with the SB IUP extension module. It's a bit of a hack as I'm returning to SB with every filtered callback and SB does the ICALL. This goes back to my inability to get
MyICall (trial ext. mod.) to work. I'm by that now.
I still need to get square in my head how thread functions really don't return but remain as a life of their own in the same parent process. It's like playing
who's on first. It still boggles my mind that a complete working
scriba is created as a threaded function. I've decided to use
MT as the thread cop. Trying to use
sleep while things get loaded is too variable. (program size, ext. mod, ...) MT will smooth that out.
I have to move the event routines out of the
IUP extension module and into the
SBT ext. mod. My hope is this direction of fooling the threads as to who is in control is a slick trick or the method I posted from the IUP mailing list is the proper method to chose. I want something cross platform and you have already paved the way.
One of the next SB tasks on my list is to be able from one called SB extension module function call another without returning to SB.