Thanks for the suggestion, Kai. But the problem is that we'd like to not change existing GNUstep code in awkward ways. The code uses the standard nextEventMatchingMask:... method to get the next event, which inevitably calls some Windows function that allows the callbacks to come in.
Fortunately, after a lot of head scratching we've found a good solution, which I'll post in a moment in response to my earlier message. Doug On Oct 27, 2010, at 8:43 AM, SPUeNTRUP - Kai Henningsen wrote: > Hallo Doug, > > Am Tue, 26 Oct 2010 21:49:28 -0600 > schrieb Doug Simons <doug.sim...@testplant.com>: > >> 2. Figure out a more general solution for blocking callbacks from Windows >> while getting events. This would be ideal, > > Surely those callbacks only happen when we call LRESULT DispatchMessage(const > MSG *lpmsg); ? > > More precisely, the typical message loop looks like this: > > // Start the message loop. > while( (bRet = GetMessage( &msg, NULL, 0, 0 )) != 0) > { > if (bRet == -1) > { > // handle the error and possibly exit > } > else > { > TranslateMessage(&msg); > DispatchMessage(&msg); <<< callbacks happen here > } > } > > It's not as if windows does callbacks here without being explicitly > asked to. Presumably, you could just as well queue messages up and > dispatch them later, if that is more convenient. Or ignore them > altogether. > > For Windows API docs, see around here: > > http://msdn.microsoft.com/en-us/library/ms644928%28v=VS.85%29.aspx#creating_loop > > Mit freundlichen Grüßen aus Münster / > with kind regards - Kai Henningsen > > -- > SPUeNTRUP Software > An der Kleimannbrücke 52 > D-48157 Münster, Germany > > Reg: Münster Nr.29047 > > Fon: +49 700 CALL CATS (=22552287) > Fon: +49 251 322 311 0 > Fax: +49 251 322 311 99 > > Web: http://www.cats.ms > Mail: support-k...@cats.ms > > _______________________________________________ > Gnustep-dev mailing list > Gnustep-dev@gnu.org > http://lists.gnu.org/mailman/listinfo/gnustep-dev > _______________________________________________ Gnustep-dev mailing list Gnustep-dev@gnu.org http://lists.gnu.org/mailman/listinfo/gnustep-dev