1.0.1.0 - fixed WeMod overlay breakage when using runtime patch

This commit is contained in:
kitbyte
2025-04-01 23:42:39 +03:00
parent e534c08f88
commit 9ed3d270e3
3 changed files with 12 additions and 2 deletions
+10 -1
View File
@@ -44,13 +44,22 @@ namespace WeModPatcher.Core
var debugEvent = new Imports.DEBUG_EVENT(); var debugEvent = new Imports.DEBUG_EVENT();
var processIds = new List<uint>(); var processIds = new List<uint>();
while (Imports.WaitForDebugEvent(ref debugEvent, 1000)) while (Imports.WaitForDebugEvent(ref debugEvent, uint.MaxValue))
{ {
var code = debugEvent.dwDebugEventCode; var code = debugEvent.dwDebugEventCode;
if (code == Imports.CREATE_PROCESS_DEBUG_EVENT) if (code == Imports.CREATE_PROCESS_DEBUG_EVENT)
{ {
processIds.Add(debugEvent.dwProcessId); processIds.Add(debugEvent.dwProcessId);
} }
else if (code == Imports.EXIT_PROCESS_DEBUG_EVENT)
{
processIds.Remove(debugEvent.dwProcessId);
if(processIds.Count == 0)
{
break;
}
}
else if (code == Imports.EXCEPTION_DEBUG_EVENT) else if (code == Imports.EXCEPTION_DEBUG_EVENT)
{ {
var exceptionInfo = Imports.MapUnmanagedStructure<Imports.EXCEPTION_DEBUG_INFO>(debugEvent.Union); var exceptionInfo = Imports.MapUnmanagedStructure<Imports.EXCEPTION_DEBUG_INFO>(debugEvent.Union);
+1 -1
View File
@@ -51,5 +51,5 @@ using System.Windows;
// You can specify all the values or you can default the Build and Revision Numbers // You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyVersion("1.0.1.0")]
[assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")]
+1
View File
@@ -247,6 +247,7 @@ namespace WeModPatcher.Utils.Win32
public const uint DEBUG_PROCESS = 0x00000001; public const uint DEBUG_PROCESS = 0x00000001;
public const uint DBG_CONTINUE = 0x00010002; public const uint DBG_CONTINUE = 0x00010002;
public const uint CREATE_PROCESS_DEBUG_EVENT = 3; public const uint CREATE_PROCESS_DEBUG_EVENT = 3;
public const uint EXIT_PROCESS_DEBUG_EVENT = 5;
public const uint EXCEPTION_DEBUG_EVENT = 1; public const uint EXCEPTION_DEBUG_EVENT = 1;
public const uint LOAD_DLL_DEBUG_EVENT = 6; public const uint LOAD_DLL_DEBUG_EVENT = 6;
public const uint OUTPUT_DEBUG_STRING_EVENT = 8; public const uint OUTPUT_DEBUG_STRING_EVENT = 8;