From: Amos Bird Date: Thu, 25 Mar 2021 06:50:46 +0000 (+0800) Subject: Fix preeditarea reporting wrong spot. X-Git-Tag: emacs-28.0.90~3141^2~1 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=0e4795fc98;p=emacs.git Fix preeditarea reporting wrong spot. This patch adjust the x position of preeditarea with both left fringe and left margin, which prevents IME preedit box (such as fcitx) from placing at the wrong position in GUI emacs. * src/xfns.c (xic_set_preeditarea): Adjust X for left margin width. (Bug#47377) --- diff --git a/src/xfns.c b/src/xfns.c index ab04396703e..b9b396382b1 100644 --- a/src/xfns.c +++ b/src/xfns.c @@ -2785,7 +2785,7 @@ xic_set_preeditarea (struct window *w, int x, int y) XVaNestedList attr; XPoint spot; - spot.x = WINDOW_TO_FRAME_PIXEL_X (w, x) + WINDOW_LEFT_FRINGE_WIDTH (w); + spot.x = WINDOW_TO_FRAME_PIXEL_X (w, x) + WINDOW_LEFT_FRINGE_WIDTH (w) + WINDOW_LEFT_MARGIN_WIDTH(w); spot.y = WINDOW_TO_FRAME_PIXEL_Y (w, y) + FONT_BASE (FRAME_FONT (f)); attr = XVaCreateNestedList (0, XNSpotLocation, &spot, NULL); XSetICValues (FRAME_XIC (f), XNPreeditAttributes, attr, NULL);