-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dispatch pending and flush events before polling. #2
Comments
ghost
assigned smspillaz
Mar 3, 2013
smspillaz
added a commit
to smspillaz/SDL
that referenced
this issue
Mar 3, 2013
read () any new events from the compositor. Currently PumpEvents polls the fd to see if there is any more data to be read without blocking. If there is it calls _dispatch (), if not, it calls _dispatch_pending (). However, there is a possible condition where new events in the output buffer might need to be sent to the compositor in order to get back the events that we need to continue. In that case, we really need to dispatch pending events, cause any new requests to be buffered up, flush the buffer and then poll, so that we'll know if we need to read any more events in. Otherwise they might come a little bit late. Fixes Issue soreau#2
soreau
pushed a commit
that referenced
this issue
Jul 27, 2013
…nitialized the application properly. This will help reduce issues like that reported in bug 1819: Wouter van Oortmerssen 2013-04-23 20:12:07 EDT #0 0x01d1e881 in __HALT () #1 0x01c58971 in _CFRuntimeCreateInstance () #2 0x02e4acc1 in GSFontCreateWithName () #3 0x00adc0e1 in UINewFont () #4 0x00adc24c in +[UIFont systemFontOfSize:traits:] () #5 0x00adc298 in +[UIFont systemFontOfSize:] () #6 0x009fb5d9 in +[UITextFieldLabel defaultFont] () #7 0x00a8ccd5 in -[UILabel _commonInit] () #8 0x00a8ce14 in -[UILabel initWithFrame:] () #9 0x00a052eb in -[UITextField createTextLabelWithTextColor:] () #10 0x009fbede in -[UITextField initWithFrame:] () #11 0x00152ead in -[SDL_uikitview initializeKeyboard] at /Users/aardappel/lobster/external/SDL-2.0.0-7046/Xcode-iOS/SDL/../../src/video/uikit/SDL_uikitview.m:208 #12 0x0015290c in -[SDL_uikitview initWithFrame:] at /Users/aardappel/lobster/external/SDL-2.0.0-7046/Xcode-iOS/SDL/../../src/video/uikit/SDL_uikitview.m:50 #13 0x00153b5b in -[SDL_uikitopenglview initWithFrame:scale:retainBacking:rBits:gBits:bBits:aBits:depthBits:stencilBits:majorVersion:] at /Users/aardappel/lobster/external/SDL-2.0.0-7046/Xcode-iOS/SDL/../../src/video/uikit/SDL_uikitopenglview.m:53 #14 0x001524ff in UIKit_GL_CreateContext at /Users/aardappel/lobster/external/SDL-2.0.0-7046/Xcode-iOS/SDL/../../src/video/uikit/SDL_uikitopengles.m:114 #15 0x0015078f in SDL_GL_CreateContext at /Users/aardappel/lobster/external/SDL-2.0.0-7046/Xcode-iOS/SDL/../../src/video/SDL_video.c:2666 #16 0x000d8c5c in SDLInit(char const*, vec<int, 2>&) at /Users/aardappel/lobster/dev/xcode/lobster/../../src/sdlsystem.cpp:193
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Currently PumpEvents polls the fd to see if there is any more data to be read without blocking. If there is it calls _dispatch (), if not, it calls _dispatch_pending ().
However, there is a possible condition where new events in the output buffer might need to be sent to the compositor in order to get back the events that we need to continue. In that case, we really need to dispatch pending events, cause any new requests to be buffered up, flush the buffer and then poll, so that we'll know if we need to read any more events in. Otherwise they might come a little bit late.
The text was updated successfully, but these errors were encountered: