From afc174758ef2912691496e13664a3c0ec8750ff7 Mon Sep 17 00:00:00 2001 From: huasinliao Date: Sat, 28 Jun 2025 09:27:14 +0800 Subject: [PATCH] Fix Inaccurate Window Movement in Linux Framebuffer Backend Windows would jump to unexpected positions when moved with the mouse on the Linux framebuffer backend. By suppressing the screen update behavior of twin_fbdev_update_damage, this patch ensures more robust window dragging on Raspberry Pi 3B and virtual machines. --- backend/fbdev.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/fbdev.c b/backend/fbdev.c index 0df2086..703962a 100644 --- a/backend/fbdev.c +++ b/backend/fbdev.c @@ -190,7 +190,8 @@ static bool twin_fbdev_update_damage(void *closure) twin_fbdev_t *tx = PRIV(closure); twin_screen_t *screen = SCREEN(closure); - if (!tx->vt_active && twin_screen_damaged(screen)) + if (!tx->vt_active && (tx->fb_base == MAP_FAILED) && + twin_screen_damaged(screen)) twin_screen_update(screen); return true;