Clarify/set condition: wayland && !wayland_egl

Check for the condition where the windowing system has wayland support
but not wayland EGL support for wxGLCanvas in wx, in which case the
Simple renderer must be forced.

This is currently how the wx packages are built on Fedora.

Refer #1028

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
This commit is contained in:
Rafael Kitover
2022-12-28 18:27:04 +00:00
parent 8e4acfc91d
commit ab4ae96e05
3 changed files with 9 additions and 3 deletions

View File

@@ -294,7 +294,7 @@ DisplayConfig::DisplayConfig(wxWindow* parent)
#ifdef NO_OGL
GetValidatedChild(this, "OutputOpenGL")->Hide();
#elif defined(__WXGTK__) && !wxCHECK_VERSION(3, 2, 0)
#elif defined(HAVE_WAYLAND_SUPPORT) && !defined(HAVE_WAYLAND_EGL)
// wxGLCanvas segfaults on Wayland before wx 3.2.
if (IsWayland()) {
GetValidatedChild(this, "OutputOpenGL")->Hide();

View File

@@ -21,8 +21,14 @@ constexpr bool IsWayland() { return false; }
#endif // wayland
#if defined(__WXGTK__) && defined(HAVE_EGL) && wxCHECK_VERSION(3, 2, 0) && wxUSE_GLCANVAS_EGL
#define HAVE_WAYLAND_EGL
#endif
// Temporary hack to backport 800d6ed69b from wxWidgets until 3.2.2 is released.
#if defined(__WXGTK__) && defined(HAVE_EGL) && wxCHECK_VERSION(3, 2, 0) && !wxCHECK_VERSION(3, 2, 2) && wxUSE_GLCANVAS_EGL
#if defined(HAVE_WAYLAND_EGL) && !wxCHECK_VERSION(3, 2, 2)
#define WAYLAND_MOVE_SUBSURFACE_BACKPORT

View File

@@ -359,7 +359,7 @@ bool wxvbamApp::OnInit() {
load_opts();
// wxGLCanvas segfaults under wayland before wx 3.2
#if defined(__WXGTK__) && !wxCHECK_VERSION(3, 2, 0)
#if defined(HAVE_WAYLAND_SUPPORT) && !defined(HAVE_WAYLAND_EGL)
if (UsingWayland()) {
config::OptDispRenderMethod()->SetRenderMethod(
config::RenderMethod::kSimple);