Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

@bdero
Copy link
Member

@bdero bdero commented Jun 18, 2022

Fixes flutter/flutter#106221.

This patch makes GLFW use EGL instead of GLX on Linux, matching the Linux embedder's behavior.

Skia always attempts to use eglGetCurrentDisplay to fetch the egl display and then eglQueryString to fetch the extension list. However, when GLFW creates a GLX context, both of these procs exhibit non-standard behavior and return invalid, non-error, non-null values causing a crash when the extension list is dereferenced.

The preprocessor guard is necessary because the EGL context can't be used on MacOS.

@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat (don't just cc him here, he won't see it! He's on Discord!).

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

Copy link
Contributor

@betrevisan betrevisan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thank you for fixing this issue!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

GLFW example fails to run in Linux

3 participants