From 5f07f7ad080991bd9f2feebec0d9cc261be107c5 Mon Sep 17 00:00:00 2001 From: Ross Date: Fri, 21 Apr 2023 19:02:03 +1000 Subject: [PATCH] chore(windows): remove addins c-h files --- windows/src/engine/keyman32/addins.cpp | 263 ------------------ windows/src/engine/keyman32/addins.h | 23 -- .../keyman32/appint/aiWin2000Unicode.cpp | 1 - .../src/engine/keyman32/keyman-engine.vcxproj | 6 - .../keyman32/keyman-engine.vcxproj.filters | 3 - windows/src/engine/keyman32/keyman32.cpp | 3 - windows/src/engine/keyman32/keyman32.vcxproj | 7 - .../engine/keyman32/keyman32.vcxproj.filters | 6 - windows/src/engine/keyman32/keymanengine.h | 1 - .../src/engine/keyman32/kmhook_getmessage.cpp | 9 +- windows/src/engine/keyman64/keyman64.vcxproj | 2 - .../engine/keyman64/keyman64.vcxproj.filters | 2 - 12 files changed, 2 insertions(+), 324 deletions(-) delete mode 100644 windows/src/engine/keyman32/addins.cpp delete mode 100644 windows/src/engine/keyman32/addins.h diff --git a/windows/src/engine/keyman32/addins.cpp b/windows/src/engine/keyman32/addins.cpp deleted file mode 100644 index 6c7f5d0f28..0000000000 --- a/windows/src/engine/keyman32/addins.cpp +++ /dev/null @@ -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"); -} diff --git a/windows/src/engine/keyman32/addins.h b/windows/src/engine/keyman32/addins.h deleted file mode 100644 index 71aa006e59..0000000000 --- a/windows/src/engine/keyman32/addins.h +++ /dev/null @@ -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); diff --git a/windows/src/engine/keyman32/appint/aiWin2000Unicode.cpp b/windows/src/engine/keyman32/appint/aiWin2000Unicode.cpp index 19da87a543..5fa67fc715 100644 --- a/windows/src/engine/keyman32/appint/aiWin2000Unicode.cpp +++ b/windows/src/engine/keyman32/appint/aiWin2000Unicode.cpp @@ -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; diff --git a/windows/src/engine/keyman32/keyman-engine.vcxproj b/windows/src/engine/keyman32/keyman-engine.vcxproj index 6869117fd9..632b4e6a67 100644 --- a/windows/src/engine/keyman32/keyman-engine.vcxproj +++ b/windows/src/engine/keyman32/keyman-engine.vcxproj @@ -186,12 +186,6 @@ - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) %(PreprocessorDefinitions) diff --git a/windows/src/engine/keyman32/keyman-engine.vcxproj.filters b/windows/src/engine/keyman32/keyman-engine.vcxproj.filters index 7cd4d906d1..c0eab08097 100644 --- a/windows/src/engine/keyman32/keyman-engine.vcxproj.filters +++ b/windows/src/engine/keyman32/keyman-engine.vcxproj.filters @@ -15,9 +15,6 @@ - - Source Files - Source Files diff --git a/windows/src/engine/keyman32/keyman32.cpp b/windows/src/engine/keyman32/keyman32.cpp index 962697d78b..0e238cb6ea 100644 --- a/windows/src/engine/keyman32/keyman32.cpp +++ b/windows/src/engine/keyman32/keyman32.cpp @@ -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; diff --git a/windows/src/engine/keyman32/keyman32.vcxproj b/windows/src/engine/keyman32/keyman32.vcxproj index 0d78d2c292..670df3c1d4 100644 --- a/windows/src/engine/keyman32/keyman32.vcxproj +++ b/windows/src/engine/keyman32/keyman32.vcxproj @@ -176,12 +176,6 @@ - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) %(PreprocessorDefinitions) @@ -362,7 +356,6 @@ - diff --git a/windows/src/engine/keyman32/keyman32.vcxproj.filters b/windows/src/engine/keyman32/keyman32.vcxproj.filters index 8995c39a93..dcf5f5d4c5 100644 --- a/windows/src/engine/keyman32/keyman32.vcxproj.filters +++ b/windows/src/engine/keyman32/keyman32.vcxproj.filters @@ -15,9 +15,6 @@ - - Source Files - Source Files @@ -162,9 +159,6 @@ - - Header Files - Header Files diff --git a/windows/src/engine/keyman32/keymanengine.h b/windows/src/engine/keyman32/keymanengine.h index c70d039ff7..fe536cb399 100644 --- a/windows/src/engine/keyman32/keymanengine.h +++ b/windows/src/engine/keyman32/keymanengine.h @@ -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" diff --git a/windows/src/engine/keyman32/kmhook_getmessage.cpp b/windows/src/engine/keyman32/kmhook_getmessage.cpp index 5aec91a958..9b128dccc6 100644 --- a/windows/src/engine/keyman32/kmhook_getmessage.cpp +++ b/windows/src/engine/keyman32/kmhook_getmessage.cpp @@ -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(); } } diff --git a/windows/src/engine/keyman64/keyman64.vcxproj b/windows/src/engine/keyman64/keyman64.vcxproj index d70c0872ed..15546caef5 100644 --- a/windows/src/engine/keyman64/keyman64.vcxproj +++ b/windows/src/engine/keyman64/keyman64.vcxproj @@ -177,7 +177,6 @@ - @@ -279,7 +278,6 @@ - diff --git a/windows/src/engine/keyman64/keyman64.vcxproj.filters b/windows/src/engine/keyman64/keyman64.vcxproj.filters index 0b53bd96cb..cd8aeefb32 100644 --- a/windows/src/engine/keyman64/keyman64.vcxproj.filters +++ b/windows/src/engine/keyman64/keyman64.vcxproj.filters @@ -2,7 +2,6 @@ - @@ -41,7 +40,6 @@ -