Fix "Wayland: NULL pointer dereference in Fl::cairo_make_current()" (#1359)

This commit is contained in:
ManoloFLTK 2026-01-11 12:09:41 +01:00
parent e59a5dc804
commit 7b6a779fd3

View File

@ -150,8 +150,8 @@ cairo_t *Fl::cairo_make_current(Fl_Window *wi) {
#if defined(FLTK_USE_WAYLAND)
if (fl_wl_display()) { // true means using wayland backend
struct wld_window *xid = fl_wl_xid(wi);
if (!xid->buffer)
return NULL; // this may happen with GL windows
if (!xid || !xid->buffer)
return NULL; // this may happen with GL windows or if window is not shown
cairo_ctxt = xid->buffer->draw_buffer.cairo_;
Fl::Private::cairo_state_.cc(cairo_ctxt, false);
return cairo_ctxt;