summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
b452fd7)
(post_character_message): Use it for keyboard input.
(w32_msg_pump): Use it for mouse input.
+static void
+signal_user_input ()
+{
+ /* Interrupt any lisp that wants to be interrupted by input. */
+ if (!NILP (Vthrow_on_input))
+ {
+ Vquit_flag = Vthrow_on_input;
+ /* If we're inside a function that wants immediate quits,
+ do it now. */
+ if (immediate_quit && NILP (Vinhibit_quit))
+ {
+ immediate_quit = 0;
+ QUIT;
+ }
+ }
+}
+
+
static void
post_character_message (hwnd, msg, wParam, lParam, modifiers)
HWND hwnd;
static void
post_character_message (hwnd, msg, wParam, lParam, modifiers)
HWND hwnd;
to receive C-g to interrupt the lisp thread. */
cancel_all_deferred_msgs ();
}
to receive C-g to interrupt the lisp thread. */
cancel_all_deferred_msgs ();
}
+ else
+ signal_user_input ();
}
my_post_msg (&wmsg, hwnd, msg, wParam, lParam);
}
my_post_msg (&wmsg, hwnd, msg, wParam, lParam);
wmsg.dwModifiers = w32_get_modifiers ();
my_post_msg (&wmsg, hwnd, msg, wParam, lParam);
wmsg.dwModifiers = w32_get_modifiers ();
my_post_msg (&wmsg, hwnd, msg, wParam, lParam);
/* Need to return true for XBUTTON messages, false for others,
to indicate that we processed the message. */
/* Need to return true for XBUTTON messages, false for others,
to indicate that we processed the message. */
case WM_MOUSEWHEEL:
wmsg.dwModifiers = w32_get_modifiers ();
my_post_msg (&wmsg, hwnd, msg, wParam, lParam);
case WM_MOUSEWHEEL:
wmsg.dwModifiers = w32_get_modifiers ();
my_post_msg (&wmsg, hwnd, msg, wParam, lParam);
return 0;
case WM_DROPFILES:
wmsg.dwModifiers = w32_get_modifiers ();
my_post_msg (&wmsg, hwnd, msg, wParam, lParam);
return 0;
case WM_DROPFILES:
wmsg.dwModifiers = w32_get_modifiers ();
my_post_msg (&wmsg, hwnd, msg, wParam, lParam);
if (saved_mouse_button_msg.msg.hwnd)
{
post_msg (&saved_mouse_button_msg);
if (saved_mouse_button_msg.msg.hwnd)
{
post_msg (&saved_mouse_button_msg);
saved_mouse_button_msg.msg.hwnd = 0;
}
KillTimer (hwnd, mouse_button_timer);
saved_mouse_button_msg.msg.hwnd = 0;
}
KillTimer (hwnd, mouse_button_timer);
{
wmsg.dwModifiers = w32_get_modifiers ();
my_post_msg (&wmsg, hwnd, msg, wParam, lParam);
{
wmsg.dwModifiers = w32_get_modifiers ();
my_post_msg (&wmsg, hwnd, msg, wParam, lParam);