-
Notifications
You must be signed in to change notification settings - Fork 19
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
Rare xcb_io assertion error while retreating #13
Comments
I have the same 'append_pending_request' assertion problem as described above. Still trying to work out where my problem is coming from XD I'll get back to you as soon as I have any further insights. I must ask - when you say 'retreating' do you mean when the program attempts to exit? This is also where I get the problem. Do you use Code::Blocks? |
Hi. I traced my problem to a buggy initialiser - I recently moved my program initialisation to a class I call 'Engine' which I place in global scope (my modules can extern ref them). My goal was that the EventHandler (another class I made) could reference the X11 'Display *' and 'Window' members of the Video class (all inside the Engine) as a 'friend', instead of passing those two by value (or reference) to the EventHandler initialiser. I deem it unnecessary to copy variables I can reference globally (overhead is unarguably reduced). My problem was - my old code had the EventHandler initialiser (called init()) take parameters 'Display *' and 'Window' passed in (by value copy) with the intention that the class destructor would call 'init' again, passing NULL in both parameters, in order for init() to do the appropriate clean-up. My developing (and solved problem) therefore became - my init() function was being called sneakily from the destructor I forgot about, but no longer cleaned up on behalf of the destructor. Worse, it actually tried to register another atom that already existed (WM_DELETE_WINDOW). I haven't looked at your code yet - try looking for any part of your code that uses functions XInternAtom() or XSetWMProtocols() and try looking for odd circumstances or behaviour surrounding when they're called (are you calling them when you're destructing, like I did? That's probably a no-no). I hope this helps. |
I meant "retreating" from the game battle. |
Once couple of times I get the following while fighting the same darn ghost in the graveyard and trying to retreat:
The text was updated successfully, but these errors were encountered: