Wayland: Fix IME popup position under fractional scaling on KDE Plasma

(cherry picked from commit 5bb2d5dc2b0dbae622c1c0f12bee5fd4074d90fc)
This commit is contained in:
Naoto Kondo authored and Thaddeus Crews committed 2026-07-30 11:26:22 -05:00
1 parent 25264af544
commit 4dca996446
1 file changed
+4 -1
+4 -1
View File
@@ -5799,7 +5799,10 @@ void WaylandThread::window_set_ime_position(const Point2i &p_pos, DisplayServerE
SeatState *ss = wl_seat_get_seat_state(wl_seat_current);
if (ss && ss->wp_text_input && ss->ime_enabled) {
ss->ime_rect = Rect2i(p_pos, Size2i(1, 10));
WindowState *ws = window_get_state(p_window_id);
double scale = ws ? window_state_get_scale_factor(ws) : 1.0;
Point2i logical_pos = scale_vector2i(p_pos, 1.0 / scale);
ss->ime_rect = Rect2i(logical_pos, Size2i(1, 10));
zwp_text_input_v3_set_cursor_rectangle(ss->wp_text_input, ss->ime_rect.position.x, ss->ime_rect.position.y, ss->ime_rect.size.x, ss->ime_rect.size.y);
zwp_text_input_v3_commit(ss->wp_text_input);
}