Wayland: Fix IME popup position under fractional scaling on KDE Plasma
(cherry picked from commit 5bb2d5dc2b0dbae622c1c0f12bee5fd4074d90fc)
This commit is contained in:
1 parent
25264af544
commit
4dca996446
1 file changed
+4
-1
@@ -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);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user