Commit graph

17 commits

Author SHA1 Message Date
Marc Durdin
54642dc86d fix(windows): disable OutputDebugString from DllMain
Following investigation, it seems that OutputDebugString can trigger a
loader lock as it throws an exception which can be handled by a global
exception handler, which may try and load/unload DLLs or perform other
unsafe tasks (e.g. StackWalk). The safest solution is to remove the
debug string logging altogether from code paths that run from DllMain.

It would be nice to further simplify DllMain but that would be a
significant amount of additional work.
2025-11-13 14:47:39 +01:00
Marc Durdin
1be73a9c2e refactor(windows): clean up logging
* Remove unused parameters from SendDebugMessage functions
* Add SendDebugEntry and SendDebugExit functions for tracking
  function entry/exit
* Add indenting and function names to log entries
* Remove unused debug functions
* Eliminate now-unused hwnd parameter in initialization functions
* Replace Log,LogEntry,LogExit functions with SendDebug equivalents in
  kmtip

Many functions now have SendDebugEntry/SendDebugExit (or
return_SendDebugExit) pairs. It is important to SendDebugExit on all
returns from a function to keep the log indent depth consistent. In some
cases I chose not to add these logging calls, e.g. on frequently called
functions such as the message hooks.
2024-07-03 21:28:37 +10:00
Marc Durdin
aace36963e refactor(windows): remove wm_keyman_keydown and wm_keyman_keyup
Also cleanup the use of state.msg as that had no relevant data in it.

Fixes: #11917
2024-07-03 09:34:44 +10:00
Marc Durdin
5224affd38 chore(windows): remove unused globals relating to old keyboard debugging
Fixes #10056.

Removes:
* Globals::miniContext
* Globals::miniContextIfLen
* Globals::indexStack
* Globals::msgbuf
* GLOBAL_ContextStackSize
* GLOBAL_MsgStackSize
* GLOBAL_MaxKeyboards
* INI struct (and commented-out usage of this)
2023-11-23 11:30:57 +10:00
Marc Durdin
ba5f18defd chore: rename km_kbp_ to km_core_ 2023-10-09 14:53:13 +07:00
rc-swag
91a3ba8b86
Merge branch 'chore/windows/5442/remove-legacy-keyman-core' into chore/windows/8646/remove-force-keyboard 2023-05-16 13:35:27 +10:00
Ross
9136e57157 chore(windows): remove ForceFileName RefreshPreservedKeys 2023-05-11 14:03:18 +10:00
Ross
c4abc4fadb chore(windows): remove keyman_forcekeyboard 2023-05-10 22:20:57 +10:00
Ross
708b6bcf68 chore(windows): rename KeyboardOptionCoretoRegistry
LoadKeyboardOptionsREGCore -> LoadKeyboardOptionsRegistrytoCore
SaveKeyboardOptionREGCore -> SaveKeyboardOptionCoretoRegistry
2023-05-04 14:16:09 +10:00
Ross
9aa6ab2ee0 chore(windows): remove addins c-h files 2023-05-03 14:48:03 +10:00
Ross
0ee25dc59f chore(windows): Revert "chore(windows): remove addins c-h files"
This reverts commit 5f07f7ad08.
2023-04-27 14:15:06 +10:00
Ross
ec01969adc chore(windows): fix issue number in comments 2023-04-26 23:00:21 +10:00
Ross
5f07f7ad08 chore(windows): remove addins c-h files 2023-04-21 19:02:03 +10:00
Ross
4019a79676 chore(windows): address review comments 2023-04-21 18:43:50 +10:00
Ross
1b46bc1d01 chore(windows): remove keyboardoptions deadcode 2023-04-20 16:55:54 +10:00
Ross
8f20507a82 chore(windows): remove legacy core and flag
Removing the legacy code that was replaced by the core.
Also removing the feature flag for core integeration.
2023-04-14 13:59:49 +10:00
Marc Durdin
fb245bfbeb fix(windows): lower case filenames for projects
Fixes #7828.

Moves all projects to lower case filenames so that we don't end up with
filename conflicts in symbol servers.
2022-11-28 19:29:48 +07:00
Renamed from windows/src/engine/keyman32/Keyman32.cpp (Browse further)