mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-07 17:36:00 +00:00
chore(windows): remove addins c-h files
This commit is contained in:
parent
4019a79676
commit
5f07f7ad08
12 changed files with 2 additions and 324 deletions
|
|
@ -1,263 +0,0 @@
|
|||
/*
|
||||
Name: addins
|
||||
Copyright: Copyright (C) SIL International.
|
||||
Documentation:
|
||||
Description:
|
||||
Create Date: 14 Jun 2008
|
||||
|
||||
Modified Date: 14 May 2010
|
||||
Authors: mcdurdin
|
||||
Related Files:
|
||||
Dependencies:
|
||||
|
||||
Bugs:
|
||||
Todo:
|
||||
Notes:
|
||||
History: 14 Jun 2008 - mcdurdin - I1488 - Fix registry handle leak
|
||||
11 Mar 2009 - mcdurdin - I1894 - Fix threading bugs introduced in I1888
|
||||
11 Dec 2009 - mcdurdin - I934 - x64 - Initial version
|
||||
12 Mar 2010 - mcdurdin - I934 - x64 - Complete
|
||||
12 Mar 2010 - mcdurdin - I2229 - Remove hints and warnings
|
||||
04 May 2010 - mcdurdin - I2351 - Robustness - verify _td return value
|
||||
14 May 2010 - mcdurdin - I2374 - Fix crash in some situations
|
||||
*/
|
||||
|
||||
#include "pch.h"
|
||||
|
||||
void Addin_Release()
|
||||
{
|
||||
PKEYMAN64THREADDATA _td = ThreadGlobals();
|
||||
if(!_td) return;
|
||||
|
||||
//SendDebugMessageFormat(GetFocus(), sdmGlobal, 0, "Addin_Release: ENTER [%d]", nAddins);
|
||||
if(_td->Addins)
|
||||
{
|
||||
for(int i = 0; i < _td->nAddins; i++)
|
||||
if(_td->Addins[i].hAddin)
|
||||
{
|
||||
if(_td->Addins[i].Uninitialise) (*_td->Addins[i].Uninitialise)();
|
||||
FreeLibrary(_td->Addins[i].hAddin);
|
||||
}
|
||||
delete[] _td->Addins;
|
||||
}
|
||||
_td->Addins = NULL;
|
||||
_td->nAddins = 0;
|
||||
_td->CurrentAddin = -1;
|
||||
//SendDebugMessageFormat(GetFocus(), sdmGlobal, 0, "Addin_Release: EXIT");
|
||||
}
|
||||
|
||||
void ReadAddins(HKEY hkey)
|
||||
{
|
||||
PKEYMAN64THREADDATA _td = ThreadGlobals();
|
||||
if(!_td) return;
|
||||
|
||||
//SendDebugMessageFormat(GetFocus(), sdmGlobal, 0, "Addins: ReadAddins: ENTER");
|
||||
RegistryReadOnly *reg = new RegistryReadOnly(hkey);
|
||||
if(reg->OpenKeyReadOnly(hkey == HKEY_CURRENT_USER ? REGSZ_KeymanAddinsCU : REGSZ_KeymanAddinsLM))
|
||||
{
|
||||
int n = _td->nAddins;
|
||||
char buf[128];
|
||||
while(reg->GetValueNames(buf, 128, n))
|
||||
{
|
||||
Addin *a = new Addin[n+1];
|
||||
if(_td->Addins)
|
||||
{
|
||||
memcpy(a, _td->Addins, n * sizeof(Addin));
|
||||
delete[] _td->Addins;
|
||||
}
|
||||
_td->Addins = a;
|
||||
_td->Addins[n].hAddin = 0;
|
||||
_td->Addins[n].FocusChanged = NULL;
|
||||
_td->Addins[n].Initialise = NULL;
|
||||
_td->Addins[n].OutputBackspace = NULL;
|
||||
_td->Addins[n].OutputChar = NULL;
|
||||
_td->Addins[n].Uninitialise = NULL;
|
||||
_td->Addins[n].ShouldProcess = NULL;
|
||||
strcpy(_td->Addins[n].ClassName, buf);
|
||||
reg->ReadString(buf, _td->Addins[n].AddinName, 260);
|
||||
_td->Addins[n].Application[0] = 0;
|
||||
n++;
|
||||
}
|
||||
_td->nAddins = n;
|
||||
}
|
||||
delete reg;
|
||||
//SendDebugMessageFormat(GetFocus(), sdmGlobal, 0, "Addins: ReadAddins: EXIT");
|
||||
}
|
||||
|
||||
void Addin_Refresh()
|
||||
{
|
||||
//SendDebugMessageFormat(GetFocus(), sdmGlobal, 0, "Addin_Refresh: ENTER");
|
||||
Addin_Release();
|
||||
ReadAddins(HKEY_CURRENT_USER);
|
||||
ReadAddins(HKEY_LOCAL_MACHINE);
|
||||
//SendDebugMessageFormat(GetFocus(), sdmGlobal, 0, "Addin_Refresh: EXIT");
|
||||
}
|
||||
|
||||
BOOL LoadAddin()
|
||||
{
|
||||
PKEYMAN64THREADDATA _td = ThreadGlobals();
|
||||
if(!_td) return FALSE;
|
||||
if(_td->CurrentAddin == -1) return FALSE;
|
||||
|
||||
Addin *a = &_td->Addins[_td->CurrentAddin];
|
||||
if(!a->hAddin)
|
||||
{
|
||||
//SendDebugMessageFormat(GetFocus(), sdmGlobal, 0, "Addins: LoadAddin: ENTER");
|
||||
a->hAddin = LoadLibrary(a->AddinName);
|
||||
if(!a->hAddin)
|
||||
{
|
||||
a->hAddin = 0;
|
||||
a->ClassName[0] = 0; // prevent add-in attempting to load again
|
||||
_td->CurrenthWnd = 0;
|
||||
_td->CurrentAddin = -1;
|
||||
//SendDebugMessageFormat(GetFocus(), sdmGlobal, 0, "Addins: LoadAddin: EXIT - FALSE - LoadLibrary");
|
||||
return FALSE;
|
||||
}
|
||||
a->OutputBackspace = (PKeymanOutputBackspace) GetProcAddress(a->hAddin, "KeymanOutputBackspace");
|
||||
a->OutputChar = (PKeymanOutputChar) GetProcAddress(a->hAddin, "KeymanOutputChar");
|
||||
a->FocusChanged = (PKeymanFocusChanged) GetProcAddress(a->hAddin, "KeymanFocusChanged");
|
||||
a->ShouldProcess = (PKeymanShouldProcess) GetProcAddress(a->hAddin, "KeymanShouldProcess");
|
||||
a->Initialise = (PKeymanInit) GetProcAddress(a->hAddin, "KeymanInitialise");
|
||||
a->Uninitialise = (PKeymanInit) GetProcAddress(a->hAddin, "KeymanUninitialise");
|
||||
|
||||
if(a->Initialise && !(*a->Initialise)())
|
||||
{
|
||||
FreeLibrary(a->hAddin);
|
||||
a->hAddin = 0;
|
||||
a->ClassName[0] = 0;
|
||||
_td->CurrenthWnd = 0;
|
||||
_td->CurrentAddin = -1;
|
||||
//SendDebugMessageFormat(GetFocus(), sdmGlobal, 0, "Addins: LoadAddin: EXIT - FALSE - Initialise");
|
||||
return FALSE;
|
||||
}
|
||||
//SendDebugMessageFormat(GetFocus(), sdmGlobal, 0, "Addins: LoadAddin: EXIT - TRUE - Loaded");
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL Addin_ShouldProcessUnichar(HWND hwnd)
|
||||
{
|
||||
PKEYMAN64THREADDATA _td = ThreadGlobals();
|
||||
if(!_td) return FALSE;
|
||||
|
||||
//SendDebugMessageFormat(hwnd, sdmGlobal, 0, "Addin_ShouldProcessUnichar: ENTER");
|
||||
_td->CurrenthWnd = hwnd;
|
||||
GetClassName(hwnd, _td->CurrentClassName, 128);
|
||||
if(_td->CurrentAddin >= 0 && !_strcmpi(_td->CurrentClassName, _td->Addins[_td->CurrentAddin].ClassName))
|
||||
{
|
||||
//SendDebugMessageFormat(hwnd, sdmGlobal, 0, "Addin_ShouldProcessUnichar: EXIT - TRUE - CurrentAddin okay");
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
for(int i = 0; i < _td->nAddins; i++)
|
||||
if(!_strcmpi(_td->CurrentClassName, _td->Addins[i].ClassName))
|
||||
{
|
||||
_td->CurrentAddin = i;
|
||||
if(!LoadAddin())
|
||||
{
|
||||
_td->CurrentAddin = -1;
|
||||
_td->Addins[i].ClassName[0] = 0; // prevent add-in attempting to load again
|
||||
}
|
||||
else if(_td->Addins[i].ShouldProcess && !(*_td->Addins[i].ShouldProcess)(hwnd))
|
||||
_td->CurrentAddin = -1;
|
||||
else
|
||||
{
|
||||
//SendDebugMessageFormat(hwnd, sdmGlobal, 0, "Addin_ShouldProcessUnichar: EXIT - TRUE - FoundAddin");
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
_td->CurrentAddin = -1;
|
||||
_td->CurrenthWnd = 0;
|
||||
//SendDebugMessageFormat(hwnd, sdmGlobal, 0, "Addin_ShouldProcessUnichar: EXIT - FALSE");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL Addin_ProcessUnichar(HWND hwnd, DWORD chr)
|
||||
{
|
||||
PKEYMAN64THREADDATA _td = ThreadGlobals();
|
||||
if(!_td) return FALSE;
|
||||
|
||||
//SendDebugMessageFormat(hwnd, sdmGlobal, 0, "Addin_ProcessUnichar: ENTER");
|
||||
if(_td->CurrenthWnd != hwnd)
|
||||
if(!Addin_ShouldProcessUnichar(hwnd))
|
||||
{
|
||||
//SendDebugMessageFormat(hwnd, sdmGlobal, 0, "Addin_ProcessUnichar: EXIT - FALSE - Addin_ShouldProcessUnichar");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if(!LoadAddin())
|
||||
{
|
||||
//SendDebugMessageFormat(hwnd, sdmGlobal, 0, "Addin_ProcessUnichar: EXIT - FALSE - !LoadAddin)");
|
||||
return FALSE;
|
||||
}
|
||||
if(!_td->Addins[_td->CurrentAddin].OutputChar)
|
||||
{
|
||||
//SendDebugMessageFormat(hwnd, sdmGlobal, 0, "Addin_ProcessUnichar: EXIT - FALSE !OutputChar");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL b = (*_td->Addins[_td->CurrentAddin].OutputChar)(hwnd, chr);
|
||||
//SendDebugMessageFormat(hwnd, sdmGlobal, 0, "Addin_ProcessUnichar: EXIT (b) == %d", b);
|
||||
return b;
|
||||
}
|
||||
|
||||
BOOL Addin_ProcessBackspace(HWND hwnd)
|
||||
{
|
||||
PKEYMAN64THREADDATA _td = ThreadGlobals();
|
||||
if(!_td) return FALSE;
|
||||
|
||||
//SendDebugMessageFormat(hwnd, sdmGlobal, 0, "Addin_ProcessBackspace: ENTER");
|
||||
if(_td->CurrenthWnd != hwnd)
|
||||
if(!Addin_ShouldProcessUnichar(hwnd))
|
||||
{
|
||||
//SendDebugMessageFormat(hwnd, sdmGlobal, 0, "Addin_ProcessBackspace: EXIT - !ShouldProcess");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if(!LoadAddin())
|
||||
{
|
||||
//SendDebugMessageFormat(hwnd, sdmGlobal, 0, "Addin_ProcessBackspace: EXIT - !LoadAddin");
|
||||
return FALSE;
|
||||
}
|
||||
if(!_td->Addins[_td->CurrentAddin].OutputBackspace)
|
||||
{
|
||||
//SendDebugMessageFormat(hwnd, sdmGlobal, 0, "Addin_ProcessBackspace: EXIT - !OutputBackspace");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
BOOL b = (*_td->Addins[_td->CurrentAddin].OutputBackspace)(hwnd);
|
||||
//SendDebugMessageFormat(hwnd, sdmGlobal, 0, "Addin_ProcessBackspace: EXIT - (b) = %d", b);
|
||||
return b;
|
||||
}
|
||||
|
||||
void Addin_FocusChanged(HWND hwnd)
|
||||
{
|
||||
PKEYMAN64THREADDATA _td = ThreadGlobals();
|
||||
if(!_td) return;
|
||||
|
||||
//SendDebugMessageFormat(hwnd, sdmGlobal, 0, "Addin_FocusChanged: ENTER");
|
||||
|
||||
if(_td->CurrenthWnd != hwnd)
|
||||
if(!Addin_ShouldProcessUnichar(hwnd))
|
||||
{
|
||||
//SendDebugMessageFormat(hwnd, sdmGlobal, 0, "Addin_FocusChanged: EXIT - !ShouldProcess");
|
||||
return;
|
||||
}
|
||||
|
||||
if(!LoadAddin())
|
||||
{
|
||||
//SendDebugMessageFormat(hwnd, sdmGlobal, 0, "Addin_FocusChanged: EXIT - !LoadAddin");
|
||||
return;
|
||||
}
|
||||
|
||||
// Addin variables must be valid now
|
||||
|
||||
if(!_td->Addins[_td->CurrentAddin].FocusChanged)
|
||||
{
|
||||
//SendDebugMessageFormat(hwnd, sdmGlobal, 0, "Addin_FocusChanged: EXIT - !FocusChanged");
|
||||
return;
|
||||
}
|
||||
|
||||
(*_td->Addins[_td->CurrentAddin].FocusChanged)();
|
||||
//SendDebugMessageFormat(hwnd, sdmGlobal, 0, "Addin_FocusChanged: EXIT");
|
||||
}
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
/*
|
||||
Name: addins
|
||||
Copyright: Copyright (C) SIL International.
|
||||
Documentation:
|
||||
Description:
|
||||
Create Date: 11 Dec 2009
|
||||
|
||||
Modified Date: 11 Dec 2009
|
||||
Authors: mcdurdin
|
||||
Related Files:
|
||||
Dependencies:
|
||||
|
||||
Bugs:
|
||||
Todo:
|
||||
Notes:
|
||||
History: 11 Dec 2009 - mcdurdin - I934 - x64 - Initial version
|
||||
*/
|
||||
void Addin_Release();
|
||||
void Addin_Refresh();
|
||||
BOOL Addin_ShouldProcessUnichar(HWND hwnd);
|
||||
BOOL Addin_ProcessUnichar(HWND hwnd, DWORD chr);
|
||||
BOOL Addin_ProcessBackspace(HWND hwnd);
|
||||
void Addin_FocusChanged(HWND hwnd);
|
||||
|
|
@ -277,7 +277,6 @@ BOOL AIWin2000Unicode::PostKeys()
|
|||
break;
|
||||
case QIT_BACK:
|
||||
if(Queue[n].dwData & BK_DEADKEY) break;
|
||||
if(Addin_ProcessBackspace(hwnd)) break;
|
||||
|
||||
pInputs[i].type = INPUT_KEYBOARD;
|
||||
pInputs[i].ki.wVk = VK_BACK;
|
||||
|
|
|
|||
|
|
@ -186,12 +186,6 @@
|
|||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="$(KEYMAN_ROOT)\common\windows\cpp\src\xstring.cpp" />
|
||||
<ClCompile Include="addins.cpp">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="appint\aiTIP.cpp">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
|
|
|
|||
|
|
@ -15,9 +15,6 @@
|
|||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="addins.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="appint\aiTIP.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
|
|
|||
|
|
@ -492,7 +492,6 @@ extern "C" BOOL _declspec(dllexport) WINAPI Keyman_Exit(void)
|
|||
*Globals::Keyman_Shutdown() = TRUE;
|
||||
|
||||
ReleaseKeyboards(TRUE);
|
||||
Addin_Release();
|
||||
|
||||
if(!Globals::get_Keyman_Initialised())
|
||||
{
|
||||
|
|
@ -925,8 +924,6 @@ void RefreshKeyboards(BOOL Initialising)
|
|||
|
||||
// Can happen when multiple top-level windows for one process
|
||||
|
||||
Addin_Refresh();
|
||||
|
||||
SendDebugMessageFormat(0,sdmGlobal,0,"---ENTER RefreshKeyboards---");
|
||||
//FInRefreshKeyboards = TRUE;
|
||||
|
||||
|
|
|
|||
|
|
@ -176,12 +176,6 @@
|
|||
<ItemGroup>
|
||||
<ClCompile Include="..\..\global\cpp\kmtip_guids.cpp" />
|
||||
<ClCompile Include="$(KEYMAN_ROOT)\common\windows\cpp\src\xstring.cpp" />
|
||||
<ClCompile Include="addins.cpp">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="appint\aiTIP.cpp">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
|
|
@ -362,7 +356,6 @@
|
|||
<ItemGroup>
|
||||
<ClInclude Include="keymanengine.h" />
|
||||
<ClInclude Include="..\..\..\include\kmtip_guids.h" />
|
||||
<ClInclude Include="addins.h" />
|
||||
<ClInclude Include="appint\aiTIP.h" />
|
||||
<ClInclude Include="appint\aiWin2000Unicode.h" />
|
||||
<ClInclude Include="appint\appint.h" />
|
||||
|
|
|
|||
|
|
@ -15,9 +15,6 @@
|
|||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="addins.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="appint\aiTIP.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
|
@ -162,9 +159,6 @@
|
|||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="addins.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="appint\aiTIP.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
|
|
|
|||
|
|
@ -246,7 +246,6 @@ void keybd_shift(LPINPUT pInputs, int* n, BOOL isReset, LPBYTE const kbd);
|
|||
#include "keystate.h"
|
||||
|
||||
#include "calldll.h"
|
||||
#include "addins.h"
|
||||
#include "keymancontrol.h"
|
||||
#include "keyboardoptions.h"
|
||||
#include "kmprocessactions.h"
|
||||
|
|
|
|||
|
|
@ -252,13 +252,9 @@ LRESULT _kmnGetMessageProc(int nCode, WPARAM wParam, LPARAM lParam)
|
|||
Handle WM_UNICHAR messages for RichEdit control -- should we test RichEdit version?
|
||||
*/
|
||||
|
||||
if(mp->message == WM_UNICHAR && Addin_ShouldProcessUnichar(mp->hwnd))
|
||||
if(mp->message == WM_UNICHAR)
|
||||
{
|
||||
if(Addin_ProcessUnichar(mp->hwnd, (DWORD) mp->wParam))
|
||||
{
|
||||
mp->message = 0;
|
||||
return CallNextHookEx(Globals::get_hhookGetMessage(), nCode, wParam, lParam);
|
||||
}
|
||||
return CallNextHookEx(Globals::get_hhookGetMessage(), nCode, wParam, lParam);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -379,7 +375,6 @@ void ProcessWMKeyman(HWND hwnd, WPARAM wParam, LPARAM lParam)
|
|||
{
|
||||
if(_td->app) _td->app->ResetQueue();
|
||||
GetCapsAndNumlockState();
|
||||
Addin_FocusChanged(hwnd);
|
||||
UpdateActiveWindows();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -177,7 +177,6 @@
|
|||
<ItemGroup>
|
||||
<ClCompile Include="..\..\global\cpp\kmtip_guids.cpp" />
|
||||
<ClCompile Include="$(KEYMAN_ROOT)\common\windows\cpp\src\xstring.cpp" />
|
||||
<ClCompile Include="..\keyman32\addins.cpp" />
|
||||
<ClCompile Include="..\keyman32\appint\aiTIP.cpp" />
|
||||
<ClCompile Include="..\keyman32\appint\aiWin2000Unicode.cpp" />
|
||||
<ClCompile Include="..\keyman32\appint\appint.cpp" />
|
||||
|
|
@ -279,7 +278,6 @@
|
|||
<ItemGroup>
|
||||
<ClInclude Include="..\keyman32\keymanengine.h" />
|
||||
<ClInclude Include="..\..\..\include\kmtip_guids.h" />
|
||||
<ClInclude Include="..\keyman32\addins.h" />
|
||||
<ClInclude Include="..\keyman32\appint\aiTIP.h" />
|
||||
<ClInclude Include="..\keyman32\appint\aiWin2000Unicode.h" />
|
||||
<ClInclude Include="..\keyman32\appint\appint.h" />
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<ClCompile Include="$(KEYMAN_ROOT)\common\windows\cpp\src\xstring.cpp" />
|
||||
<ClCompile Include="..\keyman32\addins.cpp" />
|
||||
<ClCompile Include="..\keyman32\appint\aiTIP.cpp" />
|
||||
<ClCompile Include="..\keyman32\appint\aiWin2000Unicode.cpp" />
|
||||
<ClCompile Include="..\keyman32\appint\appint.cpp" />
|
||||
|
|
@ -41,7 +40,6 @@
|
|||
<ClCompile Include="..\keyman32\CoreEnvironment.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\keyman32\addins.h" />
|
||||
<ClInclude Include="..\keyman32\appint\aiTIP.h" />
|
||||
<ClInclude Include="..\keyman32\appint\aiWin2000Unicode.h" />
|
||||
<ClInclude Include="..\keyman32\appint\appint.h" />
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue