diff options
| author | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2023-10-24 23:09:09 +0200 |
|---|---|---|
| committer | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2023-10-24 23:09:09 +0200 |
| commit | a5e8fbcca05aa938264779a18424210939844b20 (patch) | |
| tree | bc86d927a23966aed558452820ff788790e761a9 /src | |
| parent | 0636c0b3e69c80a11a385ebb7fa3db5c8ff06a42 (diff) | |
Fix "Wayland: Overlay windows look blurred" (#808)
Diffstat (limited to 'src')
| -rw-r--r-- | src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx index e844dbb90..da73319d8 100644 --- a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx +++ b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx @@ -194,7 +194,11 @@ void Fl_Wayland_Window_Driver::flush_overlay() } if (erase_overlay) fl_clip_region(0); if (other_xid) { - fl_copy_offscreen(0, 0, oWindow->w(), oWindow->h(), other_xid->offscreen(), 0, 0); + struct Fl_Wayland_Graphics_Driver::draw_buffer *buffer = + Fl_Wayland_Graphics_Driver::offscreen_buffer(other_xid->offscreen()); + struct wld_window *xid = fl_wl_xid(pWindow); + struct Fl_Wayland_Graphics_Driver::wld_buffer *wbuffer = xid->buffer; + memcpy(wbuffer->draw_buffer.buffer, buffer->buffer, wbuffer->draw_buffer.data_size); } if (overlay() == oWindow) oWindow->draw_overlay(); } |
