mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-18 00:50:44 -08:00
Try to fix latest fix of w32_mouse_position
* src/w32term.c (w32_mouse_position): Fix a bug introduced by latest fix and try to make the affected code more rigorous.
This commit is contained in:
parent
b780f16953
commit
7a4851e11b
1 changed files with 14 additions and 14 deletions
|
|
@ -3464,25 +3464,25 @@ w32_mouse_position (struct frame **fp, int insist, Lisp_Object *bar_window,
|
|||
f1 = dpyinfo->last_mouse_frame;
|
||||
else
|
||||
{
|
||||
/* Try to check for a child window first. */
|
||||
HWND wfp = ChildWindowFromPoint (wfp, pt);
|
||||
HWND wfp = WindowFromPoint (pt);
|
||||
|
||||
if (wfp)
|
||||
{
|
||||
struct frame *f2 = x_any_window_to_frame (dpyinfo, wfp);
|
||||
f1 = x_any_window_to_frame (dpyinfo, wfp);
|
||||
if (f1)
|
||||
{
|
||||
HWND cwfp = ChildWindowFromPoint (wfp, pt);
|
||||
|
||||
/* If f2 is one of our frames, make sure it's a child
|
||||
frame (Bug#26615, maybe). */
|
||||
if (f2 && FRAME_PARENT_FRAME (f2))
|
||||
f1 = f2;
|
||||
}
|
||||
if (cwfp)
|
||||
{
|
||||
struct frame *f2 = x_any_window_to_frame (dpyinfo, cwfp);
|
||||
|
||||
if (!f1)
|
||||
{
|
||||
/* Check for a top-level window second. */
|
||||
wfp = WindowFromPoint (pt);
|
||||
if (wfp)
|
||||
f1 = x_any_window_to_frame (dpyinfo, wfp);
|
||||
/* If a child window was found, make sure that its
|
||||
frame is a child frame (Bug#26615, maybe). */
|
||||
if (f2 && FRAME_PARENT_FRAME (f2))
|
||||
f1 = f2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue