| 752 | } |
| 753 | |
| 754 | void input_type::EndByReason(InputStatusType aReason) |
| 755 | { |
| 756 | ASSERT(InProgress()); |
| 757 | EndingMods = g_modifiersLR_logical; // Not relevant to all end reasons, but might be useful anyway. |
| 758 | Status = aReason; |
| 759 | |
| 760 | // It's done this way rather than calling InputRelease() directly... |
| 761 | // ...so that we can rely on MsgSleep() to create a new thread for the OnEnd event. |
| 762 | // ...because InputRelease() can't be called by the hook thread. |
| 763 | // ...because some callers rely on the list not being broken by this call. |
| 764 | PostMessage(g_hWnd, AHK_INPUT_END, (WPARAM)this, 0); |
| 765 | } |
| 766 | |
| 767 | |
| 768 | input_type *InputRelease(input_type *aInput) |
nothing calls this directly
no outgoing calls
no test coverage detected