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

Some frameworks like wxPython reset X11 error handlers that were previously installed during a call to cef.Initialize() #334

Closed
cztomczak opened this issue Mar 19, 2017 · 1 comment
Milestone

Comments

@cztomczak
Copy link
Owner

During testing of the new default implementation for js and file dialogs in the wxpython.py example on Linux, x11 errors started occuring and that caused app to shutdown. Logs from console:

The program 'python' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadWindow (invalid Window parameter)'.
  (Details: serial 1581 error_code 3 request_code 3 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

These 'BadWindow' errors are unimportant and application can continue working just fine by ignoring them. CEF Python installs x11 error handlers that ignore them during a call to cef.Initialize(), however it seems that wxPython resets X11 error handlers that were previously installed. In wxpython example CEF initialization happens before wx initialization, thus the issue. X11 error handlers can also be installed manually after wx was initialized, you can do so by calling WindowUtils.InstallX11ErrorHandlers().

@cztomczak cztomczak added this to the v56 milestone Mar 19, 2017
@cztomczak cztomczak changed the title Some frameworks like wxPython reset X11 error handlers that were installed during a call to cef.Initialize() Some frameworks like wxPython reset X11 error handlers that were previously installed during a call to cef.Initialize() Mar 19, 2017
@cztomczak
Copy link
Owner Author

Fixed in commit b93cebf. Checked other examples and they seem to work fine. Looks like only wxpython.py was affected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant