Merge remote-tracking branch 'openconsole/inbox' into main
This commit is contained in:
commit
9e8427d81e
|
@ -101,6 +101,7 @@ MENUCOMMAND
|
|||
MENUDATA
|
||||
MENUITEMINFOW
|
||||
MENUINFO
|
||||
mmeapi
|
||||
MOUSELEAVE
|
||||
mov
|
||||
mptt
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
DIRS=midi \
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
DIRS=lib \
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
!include ..\sources.inc
|
||||
|
||||
# -------------------------------------
|
||||
# Program Information
|
||||
# -------------------------------------
|
||||
|
||||
TARGETNAME = ConAudioMidi
|
||||
TARGETTYPE = LIBRARY
|
|
@ -26,5 +26,6 @@ Abstract:
|
|||
|
||||
// Windows Header Files:
|
||||
#include <windows.h>
|
||||
#include <mmeapi.h>
|
||||
|
||||
// clang-format on
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
!include ..\..\..\project.inc
|
||||
|
||||
# -------------------------------------
|
||||
# Windows Console
|
||||
# - Console Audio Functions
|
||||
# -------------------------------------
|
||||
|
||||
# -------------------------------------
|
||||
# Build System Settings
|
||||
# -------------------------------------
|
||||
|
||||
# Code in the OneCore depot automatically excludes default Win32 libraries.
|
||||
|
||||
# -------------------------------------
|
||||
# Sources, Headers, and Libraries
|
||||
# -------------------------------------
|
||||
|
||||
PRECOMPILED_CXX = 1
|
||||
PRECOMPILED_INCLUDE = ..\precomp.h
|
||||
|
||||
SOURCES = \
|
||||
..\MidiAudio.cpp \
|
||||
|
||||
INCLUDES = \
|
||||
$(INCLUDES); \
|
||||
..; \
|
||||
..\..\..\inc; \
|
||||
$(MINWIN_INTERNAL_PRIV_SDK_INC_PATH_L); \
|
1
src/dirs
1
src/dirs
|
@ -1,6 +1,7 @@
|
|||
DIRS=\
|
||||
staging \
|
||||
buffer \
|
||||
audio \
|
||||
interactivity \
|
||||
host \
|
||||
propsheet \
|
||||
|
|
|
@ -48,3 +48,11 @@ SOURCES = \
|
|||
# Autogenerated. Sets file name for Device Guard whitelisting effort, used in RC.exe.
|
||||
C_DEFINES=$(C_DEFINES) -D___TARGETNAME="""$(TARGETNAME).$(TARGETTYPE)"""
|
||||
MUI_VERIFY_NO_LOC_RESOURCE=1
|
||||
|
||||
TARGETLIBS = \
|
||||
$(TARGETLIBS) \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-rtcore-ntuser-dpi-l1.lib \
|
||||
|
||||
DELAYLOAD = \
|
||||
$(DELAYLOAD) \
|
||||
ext-ms-win-rtcore-ntuser-dpi-l1.dll; \
|
||||
|
|
|
@ -220,7 +220,7 @@ void IntegrityTest::_TestValidationHelper(const bool fIsBlockExpected,
|
|||
wistd::unique_ptr<wchar_t[]> stringData = wil::make_unique_nothrow<wchar_t[]>(cch);
|
||||
THROW_IF_NULL_ALLOC(stringData);
|
||||
|
||||
til::point coordRead;
|
||||
COORD coordRead = { 0 };
|
||||
for (coordRead.Y = 0; coordRead.Y < 8; coordRead.Y++)
|
||||
{
|
||||
ZeroMemory(stringData.get(), sizeof(wchar_t) * cch);
|
||||
|
|
|
@ -185,6 +185,7 @@ TARGETLIBS = \
|
|||
$(CONSOLE_OBJ_PATH)\terminal\input\lib\$(O)\ConTermInput.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\terminal\adapter\lib\$(O)\ConTermAdapter.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\terminal\parser\lib\$(O)\ConTermParser.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\audio\midi\lib\$(O)\ConAudioMidi.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\renderer\base\lib\$(O)\ConRenderBase.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\renderer\gdi\lib\$(O)\ConRenderGdi.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\renderer\vt\lib\$(O)\ConRenderVt.lib \
|
||||
|
|
|
@ -41,6 +41,13 @@ void ServiceLocator::SetOneCoreTeardownFunction(void (*pfn)()) noexcept
|
|||
|
||||
[[noreturn]] void ServiceLocator::RundownAndExit(const HRESULT hr)
|
||||
{
|
||||
// MSFT:40146639
|
||||
// The premise of this function is that 1 thread enters and 0 threads leave alive.
|
||||
// We need to prevent anyone from calling us until we actually ExitProcess(),
|
||||
// so that we don't TriggerTeardown() twice. LockConsole() can't be used here,
|
||||
// because doing so would prevent the render thread from progressing.
|
||||
AcquireSRWLockExclusive(&s_shutdownLock);
|
||||
|
||||
// MSFT:15506250
|
||||
// In VT I/O Mode, a client application might die before we've rendered
|
||||
// the last bit of text they've emitted. So give the VtRenderer one
|
||||
|
@ -72,6 +79,7 @@ void ServiceLocator::SetOneCoreTeardownFunction(void (*pfn)()) noexcept
|
|||
// TODO: MSFT: 14397093 - Expand graceful rundown beyond just the Hot Bug input services case.
|
||||
|
||||
delete s_globals.pRender;
|
||||
s_globals.pRender = nullptr;
|
||||
|
||||
if (s_oneCoreTeardownFunction)
|
||||
{
|
||||
|
|
|
@ -113,5 +113,7 @@ namespace Microsoft::Console::Interactivity
|
|||
static Globals s_globals;
|
||||
static bool s_pseudoWindowInitialized;
|
||||
static wil::unique_hwnd s_pseudoWindow;
|
||||
|
||||
static inline SRWLOCK s_shutdownLock = SRWLOCK_INIT;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -84,6 +84,7 @@ TARGETLIBS = \
|
|||
$(WINCORE_OBJ_PATH)\console\open\src\terminal\adapter\lib\$(O)\ConTermAdapter.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\terminal\input\lib\$(O)\ConTermInput.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\terminal\parser\lib\$(O)\ConTermParser.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\audio\midi\lib\$(O)\ConAudioMidi.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\renderer\base\lib\$(O)\ConRenderBase.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\renderer\gdi\lib\$(O)\ConRenderGdi.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\renderer\vt\lib\$(O)\ConRenderVt.lib \
|
||||
|
|
|
@ -19,6 +19,8 @@ C_DEFINES = $(C_DEFINES) -DUNICODE -D_UNICODE -DFMT_HEADER_ONLY -D
|
|||
USE_UNICRT = 1
|
||||
USE_MSVCRT = 1
|
||||
NO_WCHAR_T = 1 # use native wchar_t
|
||||
USE_CXX17_STD_BYTE = 1 # Windows disables std::byte by default...
|
||||
|
||||
|
||||
USE_STL = 1
|
||||
STL_VER = STL_VER_CURRENT
|
||||
|
|
|
@ -3,16 +3,13 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#ifndef NOMINMAX
|
||||
#define NOMINMAX
|
||||
#endif
|
||||
|
||||
#ifndef WIN32_LEAN_AND_MEAN
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
|
||||
#include <Windows.h>
|
||||
|
||||
#include <dxgi1_2.h>
|
||||
#include <d3d11.h>
|
||||
#include <d2d1.h>
|
||||
#include <d2d1helper.h>
|
||||
#include <dwrite.h>
|
||||
#endif
|
||||
|
||||
#ifdef __INSIDE_WINDOWS
|
||||
#include <nt.h>
|
||||
|
@ -21,6 +18,17 @@
|
|||
#include <dxgidwm.h>
|
||||
#include <condrv.h>
|
||||
#else
|
||||
#include <Windows.h>
|
||||
#include <unknwn.h>
|
||||
#endif
|
||||
|
||||
#include <dxgi1_2.h>
|
||||
#include <d3d11.h>
|
||||
#include <d2d1.h>
|
||||
#include <d2d1helper.h>
|
||||
#include <dwrite.h>
|
||||
|
||||
#ifndef __INSIDE_WINDOWS
|
||||
#include "oss_shim.h"
|
||||
#endif
|
||||
|
||||
|
|
|
@ -9,6 +9,9 @@
|
|||
#pragma warning(disable : 26440)
|
||||
#pragma warning(disable : 26455)
|
||||
|
||||
// We end up including ApiMessage.h somehow, which uses nameless unions
|
||||
#pragma warning(disable : 4201)
|
||||
|
||||
#include "InteractDispatch.hpp"
|
||||
#include "../../host/conddkrefs.h"
|
||||
#include "../../interactivity/inc/ServiceLocator.hpp"
|
||||
|
|
|
@ -41,14 +41,104 @@ TARGETLIBS = \
|
|||
$(ONECORE_INTERNAL_SDK_LIB_PATH)\onecoreuuid.lib \
|
||||
$(ONECOREUAP_INTERNAL_SDK_LIB_PATH)\onecoreuapuuid.lib \
|
||||
$(ONECORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\onecore_internal.lib \
|
||||
$(ONECOREUAP_EXTERNAL_SDK_LIB_PATH)\propsys.lib \
|
||||
$(ONECOREUAP_EXTERNAL_SDK_LIB_PATH)\d2d1.lib \
|
||||
$(ONECOREUAP_EXTERNAL_SDK_LIB_PATH)\dwrite.lib \
|
||||
$(ONECOREUAP_EXTERNAL_SDK_LIB_PATH)\dxgi.lib \
|
||||
$(ONECOREUAP_EXTERNAL_SDK_LIB_PATH)\d3d11.lib \
|
||||
$(ONECOREUAP_EXTERNAL_SDK_LIB_PATH)\d3dcompiler.lib \
|
||||
$(MODERNCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\api-ms-win-mm-playsound-l1.lib \
|
||||
$(ONECORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-dwmapi-ext-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-edputil-policy-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-gdi-dc-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-gdi-dc-create-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-gdi-draw-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-gdi-font-l1.lib \
|
||||
$(ONECOREWINDOWS_INTERNAL_LIB_PATH_L)\ext-ms-win-gdi-internal-desktop-l1-1-0.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-ntuser-caret-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-ntuser-dialogbox-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-ntuser-draw-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-ntuser-gui-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-ntuser-menu-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-ntuser-misc-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-ntuser-mouse-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-ntuser-rectangle-ext-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-ntuser-server-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-ntuser-window-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-rtcore-gdi-object-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-rtcore-gdi-rgn-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-rtcore-ntuser-cursor-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-rtcore-ntuser-dc-access-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-rtcore-ntuser-rawinput-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-rtcore-ntuser-sysparams-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-rtcore-ntuser-window-ext-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-rtcore-ntuser-winstamin-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-shell-shell32-l1.lib \
|
||||
$(MINCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-uxtheme-themes-l1.lib \
|
||||
$(ONECORESHELL_INTERNAL_LIB_VPATH_L)\api-ms-win-shell-dataobject-l1.lib \
|
||||
$(ONECORESHELL_INTERNAL_LIB_VPATH_L)\api-ms-win-shell-namespace-l1.lib \
|
||||
$(MODERNCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-uiacore-l1.lib \
|
||||
$(MODERNCORE_INTERNAL_PRIV_SDK_LIB_VPATH_L)\ext-ms-win-usp10-l1.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\conint\$(O)\conint.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\buffer\out\lib\$(O)\conbufferout.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\host\lib\$(O)\conhostv2.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\tsf\$(O)\contsf.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\propslib\$(O)\conprops.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\terminal\adapter\lib\$(O)\ConTermAdapter.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\terminal\input\lib\$(O)\ConTermInput.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\terminal\parser\lib\$(O)\ConTermParser.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\audio\midi\lib\$(O)\ConAudioMidi.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\renderer\base\lib\$(O)\ConRenderBase.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\renderer\gdi\lib\$(O)\ConRenderGdi.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\renderer\wddmcon\lib\$(O)\ConRenderWddmCon.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\renderer\vt\lib\$(O)\ConRenderVt.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\server\lib\$(O)\ConServer.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\interactivity\base\lib\$(O)\ConInteractivityBaseLib.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\interactivity\win32\lib\$(O)\ConInteractivityWin32Lib.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\interactivity\onecore\lib\$(O)\ConInteractivityOneCoreLib.lib \
|
||||
$(WINCORE_OBJ_PATH)\console\open\src\types\lib\$(O)\ConTypes.lib \
|
||||
|
||||
DELAYLOAD = \
|
||||
PROPSYS.dll; \
|
||||
D2D1.dll; \
|
||||
DWrite.dll; \
|
||||
DXGI.dll; \
|
||||
D3D11.dll; \
|
||||
OLEAUT32.dll; \
|
||||
api-ms-win-mm-playsound-l1.dll; \
|
||||
api-ms-win-shcore-scaling-l1.dll; \
|
||||
api-ms-win-shell-dataobject-l1.dll; \
|
||||
api-ms-win-shell-namespace-l1.dll; \
|
||||
ext-ms-win-dwmapi-ext-l1.dll; \
|
||||
ext-ms-win-edputil-policy-l1.dll; \
|
||||
ext-ms-win-usp10-l1.dll; \
|
||||
ext-ms-win-gdi-dc-l1.dll; \
|
||||
ext-ms-win-gdi-dc-create-l1.dll; \
|
||||
ext-ms-win-gdi-draw-l1.dll; \
|
||||
ext-ms-win-gdi-font-l1.dll; \
|
||||
ext-ms-win-gdi-internal-desktop-l1.dll; \
|
||||
ext-ms-win-ntuser-caret-l1.dll; \
|
||||
ext-ms-win-ntuser-dialogbox-l1.dll; \
|
||||
ext-ms-win-ntuser-draw-l1.dll; \
|
||||
ext-ms-win-ntuser-keyboard-l1.dll; \
|
||||
ext-ms-win-ntuser-gui-l1.dll; \
|
||||
ext-ms-win-ntuser-menu-l1.dll; \
|
||||
ext-ms-win-ntuser-misc-l1.dll; \
|
||||
ext-ms-win-ntuser-mouse-l1.dll; \
|
||||
ext-ms-win-ntuser-rectangle-ext-l1.dll; \
|
||||
ext-ms-win-ntuser-server-l1.dll; \
|
||||
ext-ms-win-ntuser-window-l1.dll; \
|
||||
ext-ms-win-rtcore-gdi-object-l1.dll; \
|
||||
ext-ms-win-rtcore-gdi-rgn-l1.dll; \
|
||||
ext-ms-win-rtcore-ntuser-cursor-l1.dll; \
|
||||
ext-ms-win-rtcore-ntuser-dc-access-l1.dll; \
|
||||
ext-ms-win-rtcore-ntuser-rawinput-l1.dll; \
|
||||
ext-ms-win-rtcore-ntuser-sysparams-l1.dll; \
|
||||
ext-ms-win-rtcore-ntuser-window-ext-l1.dll; \
|
||||
ext-ms-win-rtcore-ntuser-winstamin-l1.dll; \
|
||||
ext-ms-win-shell-shell32-l1.dll; \
|
||||
ext-ms-win-uiacore-l1.dll; \
|
||||
ext-ms-win-uxtheme-themes-l1.dll; \
|
||||
|
||||
DLOAD_ERROR_HANDLER = kernelbase
|
||||
|
||||
|
|
|
@ -1101,6 +1101,9 @@ void InputEngineTest::VerifySGRMouseData(const std::vector<std::tuple<SGR_PARAMS
|
|||
|
||||
auto dispatch = std::make_unique<TestInteractDispatch>(pfn, &testState);
|
||||
auto inputEngine = std::make_unique<InputStateMachineEngine>(std::move(dispatch));
|
||||
// The tests may be running somewhere that doesn't report anything for GetDoubleClickTime.
|
||||
// Let's force it to a high value to make the double click tests pass.
|
||||
inputEngine->_doubleClickTime = std::chrono::milliseconds(1000);
|
||||
auto _stateMachine = std::make_unique<StateMachine>(std::move(inputEngine));
|
||||
VERIFY_IS_NOT_NULL(_stateMachine);
|
||||
testState._stateMachine = _stateMachine.get();
|
||||
|
|
Loading…
Reference in New Issue