Skip to content
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

Closed
smspillaz opened this issue Mar 3, 2013 · 0 comments
Closed

Dispatch pending and flush events before polling. #2

smspillaz opened this issue Mar 3, 2013 · 0 comments

Comments

@smspillaz
Copy link

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.

@ghost ghost assigned smspillaz Mar 3, 2013
@soreau soreau closed this as completed Mar 3, 2013
@soreau soreau reopened this 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 soreau closed this as completed Mar 13, 2013
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
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants