summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Fl_Cairo.cxx4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/Fl_Cairo.cxx b/src/Fl_Cairo.cxx
index c69af2c55..a5b471392 100644
--- a/src/Fl_Cairo.cxx
+++ b/src/Fl_Cairo.cxx
@@ -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;