diff --git a/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx index 50329d17b..c7911240d 100644 --- a/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx +++ b/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx @@ -1358,7 +1358,8 @@ static void wayland_socket_callback(int fd, struct wl_display *display) { if (err == EPROTO) { const struct wl_interface *interface; int code = wl_display_get_protocol_error(display, &interface, NULL); - Fl::fatal("Fatal error no %d in Wayland protocol: %s", code, interface->name); + Fl::fatal("Fatal error no %d in Wayland protocol: %s", code, + (interface ? interface->name : "unknown") ); } else { Fl::fatal("Fatal error while communicating with the Wayland server: %s", strerror(errno));