summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2023-04-07 14:47:03 +0200
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2023-04-07 14:47:03 +0200
commitad8dd440d2b395167c591bb7b5eb659dbb57ad07 (patch)
treea2e83f15e7fd743509216b6cbe481ce3fe7d72f1 /src
parentc149091debe9db1f326b90add9f2ec221d1616f9 (diff)
Wayland: fix for issue #712 (hopefully)
Diffstat (limited to 'src')
-rw-r--r--src/drivers/Wayland/Fl_Wayland_Graphics_Driver.cxx10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/drivers/Wayland/Fl_Wayland_Graphics_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Graphics_Driver.cxx
index a7b3610d8..1e0f87cf9 100644
--- a/src/drivers/Wayland/Fl_Wayland_Graphics_Driver.cxx
+++ b/src/drivers/Wayland/Fl_Wayland_Graphics_Driver.cxx
@@ -84,10 +84,12 @@ static void surface_frame_done(void *data, struct wl_callback *cb, uint32_t time
struct wld_window *window = (struct wld_window *)data;
//fprintf(stderr,"surface_frame_done: destroy cb=%p draw_buffer_needs_commit=%d\n", cb, window->buffer->draw_buffer_needs_commit);
wl_callback_destroy(cb);
- window->buffer->cb = NULL;
- if (window->buffer->draw_buffer_needs_commit) {
-//fprintf(stderr,"surface_frame_done: new cb=%p \n", window->buffer->cb);
- Fl_Wayland_Graphics_Driver::buffer_commit(window);
+ if (window->buffer) { // fix for issue #712
+ window->buffer->cb = NULL;
+ if (window->buffer->draw_buffer_needs_commit) {
+ //fprintf(stderr,"surface_frame_done: new cb=%p \n", window->buffer->cb);
+ Fl_Wayland_Graphics_Driver::buffer_commit(window);
+ }
}
}