[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 3e64039 09/35: Handle crossing events on xwidget windows correctl
From: |
Lars Ingebrigtsen |
Subject: |
master 3e64039 09/35: Handle crossing events on xwidget windows correctly |
Date: |
Sat, 6 Nov 2021 22:01:56 -0400 (EDT) |
branch: master
commit 3e640399d877908760b11782dcb208721b85d629
Author: Po Lu <luangruo@yahoo.com>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
Handle crossing events on xwidget windows correctly
* src/xterm.c (handle_one_xevent): Clear help and mouse face
when handling xwidget entry events.
* src/xwidget.c (xwidget_motion_or_crossing): Add device to crossing
events.
(x_draw_xwidget_glyph_string): Add EnterWindowMask and
LeaveWindowMask.
---
src/xterm.c | 13 +++++++++++++
src/xwidget.c | 3 ++-
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/src/xterm.c b/src/xterm.c
index fa7dd9b..756a8dd 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -8896,10 +8896,23 @@ handle_one_xevent (struct x_display_info *dpyinfo,
#ifdef HAVE_XWIDGETS
{
struct xwidget_view *xvw = xwidget_view_from_window
(event->xcrossing.window);
+ Mouse_HLInfo *hlinfo;
if (xvw)
{
xwidget_motion_or_crossing (xvw, event);
+ hlinfo = MOUSE_HL_INFO (xvw->frame);
+
+ if (xvw->frame == hlinfo->mouse_face_mouse_frame)
+ {
+ clear_mouse_face (hlinfo);
+ hlinfo->mouse_face_mouse_frame = 0;
+ }
+
+ if (any_help_event_p)
+ {
+ do_help = -1;
+ }
goto OTHER;
}
}
diff --git a/src/xwidget.c b/src/xwidget.c
index c758987..067ff11 100644
--- a/src/xwidget.c
+++ b/src/xwidget.c
@@ -459,6 +459,7 @@ xwidget_motion_or_crossing (struct xwidget_view *view,
const XEvent *event)
xg_event->crossing.y = event->xcrossing.y + view->clip_top;
xg_event->crossing.x_root = event->xcrossing.x_root;
xg_event->crossing.y_root = event->xcrossing.y_root;
+ gdk_event_set_device (xg_event, find_suitable_pointer (view->frame));
}
gtk_main_do_event (xg_event);
@@ -947,7 +948,7 @@ x_draw_xwidget_glyph_string (struct glyph_string *s)
XSETXWIDGET_VIEW (xvw, xv);
XSetWindowAttributes a;
a.event_mask = (ExposureMask | ButtonPressMask | ButtonReleaseMask
- | PointerMotionMask);
+ | PointerMotionMask | EnterWindowMask | LeaveWindowMask);
xv->wdesc = XCreateWindow (xv->dpy, FRAME_X_WINDOW (s->f),
x + clip_left, y + clip_top,
- master c9c1b43 06/35: Use gtk_widget_queue_draw instead of xv_do_draw, (continued)
- master c9c1b43 06/35: Use gtk_widget_queue_draw instead of xv_do_draw, Lars Ingebrigtsen, 2021/11/06
- master b48a89f 11/35: Fix special events in xwidgets, Lars Ingebrigtsen, 2021/11/06
- master 32b9df6 10/35: Fix drag on xwidget motion events, Lars Ingebrigtsen, 2021/11/06
- master 6ed7454 12/35: Add xwidget-webkit-edit-mode to make using the WebKit browser easier, Lars Ingebrigtsen, 2021/11/06
- master 8ddeebb 13/35: Allow enabling xwidget-webkit-edit-mode via a binding, Lars Ingebrigtsen, 2021/11/06
- master 74711c0 22/35: Display page titles in xwidget webkit header line, Lars Ingebrigtsen, 2021/11/06
- master eb5a079 24/35: Fix cursor for new widget views, Lars Ingebrigtsen, 2021/11/06
- master 1a84537 29/35: Add xwidget-webkit-isearch to the menu bar and tool bar, Lars Ingebrigtsen, 2021/11/06
- master e750329 28/35: Add xwidget-webkit-isearch-mode, Lars Ingebrigtsen, 2021/11/06
- master e111a5f 08/35: Draw offscreen surface, Lars Ingebrigtsen, 2021/11/06
- master 3e64039 09/35: Handle crossing events on xwidget windows correctly,
Lars Ingebrigtsen <=
- master 650e5e8 14/35: Fix xwidget scrolling, Lars Ingebrigtsen, 2021/11/06
- master 49ed706 15/35: Select window when clicking on an xwidget view, Lars Ingebrigtsen, 2021/11/06
- master d97718c 17/35: Add a menu to xwidget-webkit, Lars Ingebrigtsen, 2021/11/06
- master f1fbf87 20/35: Make the WebKit inspector available, Lars Ingebrigtsen, 2021/11/06
- master 7269bdd 21/35: Improve detail of load-changed xwidget events, Lars Ingebrigtsen, 2021/11/06
- master 32ec485 16/35: Redisplay xwidget view windows instead of just setting their size, Lars Ingebrigtsen, 2021/11/06
- master cd7158e 18/35: Add new tool-bar items to xwidget-webkit, Lars Ingebrigtsen, 2021/11/06
- master 8729ae2 19/35: Add xwidget-webkit-copy-selection-as-kill to the menu bar, Lars Ingebrigtsen, 2021/11/06
- master 1cc19d0 23/35: Add support for cursors in xwidget views, Lars Ingebrigtsen, 2021/11/06
- master cb45114 26/35: Make it safe to have non-xwidget views in xwidget-view-list, Lars Ingebrigtsen, 2021/11/06