diff options
| author | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2023-04-07 14:47:03 +0200 |
|---|---|---|
| committer | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2023-04-07 14:47:03 +0200 |
| commit | ad8dd440d2b395167c591bb7b5eb659dbb57ad07 (patch) | |
| tree | a2e83f15e7fd743509216b6cbe481ce3fe7d72f1 /src/drivers/Wayland/Fl_Wayland_Graphics_Driver.cxx | |
| parent | c149091debe9db1f326b90add9f2ec221d1616f9 (diff) | |
Wayland: fix for issue #712 (hopefully)
Diffstat (limited to 'src/drivers/Wayland/Fl_Wayland_Graphics_Driver.cxx')
| -rw-r--r-- | src/drivers/Wayland/Fl_Wayland_Graphics_Driver.cxx | 10 |
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); + } } } |
