Skip to content

Commit 85972c9

Browse files
author
dude719
committed
Fix for issue where closed and reopened apps weren't showing up in process selection dialog.
1 parent 0818db3 commit 85972c9

File tree

2 files changed

+98
-65
lines changed

2 files changed

+98
-65
lines changed

ReClass/DialogProcSelect.cpp

+12-7
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,10 @@ void CDialogProcSelect::ListRunningProcs( )
7070
PSYSTEM_PROCESS_INFORMATION ProcessInfo = NULL;
7171
std::unique_ptr<uint8_t[]> BufferArray;
7272
ULONG BufferSize = 0;
73+
NTSTATUS status;
7374

74-
if (NT_SUCCESS( ntdll::NtQuerySystemInformation( SystemProcessInformation, NULL, NULL, &BufferSize ) ))
75+
status = ntdll::NtQuerySystemInformation( SystemProcessInformation, NULL, NULL, &BufferSize );
76+
if (status != STATUS_SUCCESS && status != STATUS_INFO_LENGTH_MISMATCH)
7577
{
7678
#ifdef _DEBUG
7779
PrintOut( _T( "[CDialogProcSelect::RefreshRunningProcesses] Failed to get size for system process list from ProcessBasicInformation" ) );
@@ -88,15 +90,13 @@ void CDialogProcSelect::ListRunningProcs( )
8890
m_bLoadingProcesses = TRUE;
8991

9092
ProcessInfo = (PSYSTEM_PROCESS_INFORMATION)BufferArray.get( );
91-
92-
while ((ProcessInfo != NULL) && (ProcessInfo->NextEntryOffset != 0))
93+
while (ProcessInfo)
9394
{
94-
if (ProcessInfo->ImageName.Buffer && ProcessInfo->ImageName.Length)
95+
if (ProcessInfo->ImageName.Buffer && ProcessInfo->ImageName.Length > 0)
9596
{
96-
if (
97-
m_FilterCheck.GetCheck( ) != BST_CHECKED ||
97+
if (m_FilterCheck.GetCheck( ) != BST_CHECKED ||
9898
CommonProcesses.end( ) == std::find_if( CommonProcesses.begin( ), CommonProcesses.end( ),
99-
[ProcessInfo] ( const wchar_t* proc ) { return _wcsnicmp( proc, ProcessInfo->ImageName.Buffer, ProcessInfo->ImageName.Length ) == 0; } )
99+
[ProcessInfo] ( const wchar_t* proc ) { return _wcsnicmp( proc, ProcessInfo->ImageName.Buffer, ProcessInfo->ImageName.MaximumLength / sizeof(wchar_t) ) == 0; } )
100100
)
101101
{
102102
HANDLE hProcess = ReClassOpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, (DWORD)ProcessInfo->UniqueProcessId );
@@ -139,6 +139,11 @@ void CDialogProcSelect::ListRunningProcs( )
139139
CloseHandle( hProcess );
140140
}
141141
}
142+
143+
// Make sure not to loop infinitely (Fix for issue where refresh wasnt updating closed applications)
144+
if (ProcessInfo->NextEntryOffset == 0)
145+
break;
146+
142147
ProcessInfo = (PSYSTEM_PROCESS_INFORMATION)((uint8_t*)ProcessInfo + ProcessInfo->NextEntryOffset);
143148
}
144149
}

reclass files/csgo.reclass

+86-58
Original file line numberDiff line numberDiff line change
@@ -7610,7 +7610,7 @@
76107610
<Node Name="m_iClassname" Type="10" Size="4" bHidden="0" Comment=""/>
76117611
<Node Name="m_hScriptInstance" Type="10" Size="4" bHidden="0" Comment=""/>
76127612
<Node Name="m_iszScriptId" Type="10" Size="4" bHidden="0" Comment=""/>
7613-
<Node Name="unknownFloatValue" Type="13" Size="4" bHidden="0" Comment=""/>
7613+
<Node Name="m_flLastMadeNoiseTime" Type="13" Size="4" bHidden="0" Comment=""/>
76147614
<Node Name="m_varMap.m_Entries" Type="1" Size="20" bHidden="0" Comment="m_varMap.m_Entries" Instance="CUtlVector"/>
76157615
<Node Name="m_varMap.m_nInterpolatedEntries" Type="10" Size="4" bHidden="0" Comment=""/>
76167616
<Node Name="m_varMap.m_lastInterpolationTime" Type="13" Size="4" bHidden="0" Comment=""/>
@@ -9976,11 +9976,11 @@
99769976
<Node Name="N000025CC" Type="4" Size="4" bHidden="0" Comment=""/>
99779977
</Class>
99789978
<Class Name="CUtlVector" Type="28" Comment="" Offset="811287576" strOffset="305B4418" Code="">
9979-
<Node Name="m_pMemory" Type="29" Size="4" bHidden="0" Comment=""/>
9979+
<Node Name="m_pMemory" Type="15" Size="4" bHidden="0" Comment=""/>
99809980
<Node Name="m_nAllocationCount" Type="10" Size="4" bHidden="0" Comment=""/>
99819981
<Node Name="m_nGrowSize" Type="10" Size="4" bHidden="0" Comment=""/>
99829982
<Node Name="m_Size" Type="10" Size="4" bHidden="0" Comment=""/>
9983-
<Node Name="m_pElements" Type="10" Size="4" bHidden="0" Comment=""/>
9983+
<Node Name="m_pElements" Type="29" Size="4" bHidden="0" Comment=""/>
99849984
</Class>
99859985
<Class Name="matrix3x4_t" Type="28" Comment="" Offset="811287772" strOffset="305B44DC" Code="">
99869986
<Node Name="m0" Type="24" Size="16" bHidden="0" Comment=""/>
@@ -10141,10 +10141,6 @@
1014110141
<Class Name="FLOAT" Type="28" Comment="" Offset="4194304" strOffset="400000" Code="">
1014210142
<Node Name="fl" Type="13" Size="4" bHidden="0" Comment=""/>
1014310143
</Class>
10144-
<Class Name="CStudioHdr" Type="28" Comment="" Offset="4194304" strOffset="400000" Code="">
10145-
<Node Name="m_pStudioHdr" Type="10" Size="4" bHidden="0" Comment=""/>
10146-
<Node Name="m_pVModel" Type="10" Size="4" bHidden="0" Comment=""/>
10147-
</Class>
1014810144
<Class Name="CUtlReference" Type="28" Comment="" Offset="4194304" strOffset="400000" Code="">
1014910145
<Node Name="m_pNext" Type="10" Size="4" bHidden="0" Comment=""/>
1015010146
<Node Name="m_pPrev" Type="10" Size="4" bHidden="0" Comment=""/>
@@ -13206,57 +13202,16 @@
1320613202
<Node Name="N00003F6D" Type="4" Size="4" bHidden="0" Comment=""/>
1320713203
<Node Name="N00003F6E" Type="4" Size="4" bHidden="0" Comment=""/>
1320813204
</Class>
13209-
<Class Name="N00003CD4" Type="28" Comment="" Offset="262144" strOffset="40000" Code="">
13210-
<Node Name="N00003CD5" Type="4" Size="4" bHidden="0" Comment=""/>
13211-
</Class>
13212-
<Class Name="N00003CD7" Type="28" Comment="" Offset="262144" strOffset="40000" Code="">
13213-
<Node Name="N00003CD8" Type="4" Size="4" bHidden="0" Comment=""/>
13214-
</Class>
13215-
<Class Name="N0000446B" Type="28" Comment="" Offset="262144" strOffset="40000" Code="">
13216-
<Node Name="N0000446C" Type="4" Size="4" bHidden="0" Comment=""/>
13217-
</Class>
13218-
<Class Name="N000034A3" Type="28" Comment="" Offset="262144" strOffset="40000" Code="">
13219-
<Node Name="N000034A4" Type="4" Size="4" bHidden="0" Comment=""/>
13220-
</Class>
13221-
<Class Name="N000034A6" Type="28" Comment="" Offset="262144" strOffset="40000" Code="">
13222-
<Node Name="N000034A7" Type="4" Size="4" bHidden="0" Comment=""/>
13223-
</Class>
13224-
<Class Name="N000034A9" Type="28" Comment="" Offset="262144" strOffset="40000" Code="">
13225-
<Node Name="N000034AA" Type="4" Size="4" bHidden="0" Comment=""/>
13226-
</Class>
13227-
<Class Name="N000034AC" Type="28" Comment="" Offset="262144" strOffset="40000" Code="">
13228-
<Node Name="N000034AD" Type="4" Size="4" bHidden="0" Comment=""/>
13229-
</Class>
13230-
<Class Name="N000034C6" Type="28" Comment="" Offset="262144" strOffset="40000" Code="">
13231-
<Node Name="N000034C7" Type="4" Size="4" bHidden="0" Comment=""/>
13232-
</Class>
13233-
<Class Name="N0000325C" Type="28" Comment="" Offset="4194304" strOffset="400000" Code="">
13234-
<Node Name="N0000325D" Type="4" Size="4" bHidden="0" Comment=""/>
13235-
<Node Name="N0000325E" Type="4" Size="4" bHidden="0" Comment=""/>
13236-
<Node Name="N0000325F" Type="4" Size="4" bHidden="0" Comment=""/>
13237-
<Node Name="N00003260" Type="4" Size="4" bHidden="0" Comment=""/>
13238-
<Node Name="N00003261" Type="4" Size="4" bHidden="0" Comment=""/>
13239-
<Node Name="N00003262" Type="4" Size="4" bHidden="0" Comment=""/>
13240-
<Node Name="N00003263" Type="4" Size="4" bHidden="0" Comment=""/>
13241-
<Node Name="N00003264" Type="4" Size="4" bHidden="0" Comment=""/>
13242-
<Node Name="N00003265" Type="4" Size="4" bHidden="0" Comment=""/>
13243-
<Node Name="N00003266" Type="4" Size="4" bHidden="0" Comment=""/>
13244-
<Node Name="N00003267" Type="4" Size="4" bHidden="0" Comment=""/>
13245-
<Node Name="N00003268" Type="4" Size="4" bHidden="0" Comment=""/>
13246-
<Node Name="N00003269" Type="4" Size="4" bHidden="0" Comment=""/>
13247-
<Node Name="N0000326A" Type="4" Size="4" bHidden="0" Comment=""/>
13248-
<Node Name="N0000326B" Type="4" Size="4" bHidden="0" Comment=""/>
13249-
<Node Name="N0000326C" Type="4" Size="4" bHidden="0" Comment=""/>
13250-
</Class>
13251-
<Class Name="N0000326D" Type="28" Comment="" Offset="0" strOffset="0" Code="">
13252-
<Node Name="N0000326E" Type="4" Size="4" bHidden="0" Comment=""/>
13253-
<Node Name="N0000326F" Type="4" Size="4" bHidden="0" Comment=""/>
13254-
<Node Name="N00003270" Type="4" Size="4" bHidden="0" Comment=""/>
13255-
<Node Name="N00003271" Type="4" Size="4" bHidden="0" Comment=""/>
13256-
<Node Name="N00003272" Type="4" Size="4" bHidden="0" Comment=""/>
13257-
<Node Name="N00003273" Type="4" Size="4" bHidden="0" Comment=""/>
13258-
<Node Name="N00003274" Type="4" Size="4" bHidden="0" Comment=""/>
13259-
<Node Name="N00003275" Type="4" Size="4" bHidden="0" Comment=""/>
13205+
<Class Name="CStudioHdr" Type="28" Comment="" Offset="122260432" strOffset="07498bd0" Code="">
13206+
<Node Name="m_pStudioHdr" Type="8" Size="4" bHidden="0" Comment="" Pointer="studiohdr_t"/>
13207+
<Node Name="m_pVModel" Type="8" Size="4" bHidden="0" Comment="" Pointer="virtualmodel_t"/>
13208+
<Node Name="N000032A7" Type="4" Size="4" bHidden="0" Comment="Reserved?"/>
13209+
<Node Name="m_pStudioHdrCache" Type="1" Size="20" bHidden="0" Comment="" Instance="CUtlVector"/>
13210+
<Node Name="m_nFrameUnlockCounter" Type="10" Size="4" bHidden="0" Comment=""/>
13211+
<Node Name="m_pFrameUnlockCounter" Type="8" Size="4" bHidden="0" Comment="" Pointer="INT"/>
13212+
<Node Name="m_FrameUnlockCounterMutex" Type="1" Size="8" bHidden="0" Comment="" Instance="CThreadFastMutex"/>
13213+
<Node Name="m_boneFlags" Type="1" Size="20" bHidden="0" Comment="" Instance="CUtlVector"/>
13214+
<Node Name="m_boneParent" Type="1" Size="20" bHidden="0" Comment="" Instance="CUtlVector"/>
1326013215
<Node Name="N00003276" Type="4" Size="4" bHidden="0" Comment=""/>
1326113216
<Node Name="N00003277" Type="4" Size="4" bHidden="0" Comment=""/>
1326213217
<Node Name="N00003278" Type="4" Size="4" bHidden="0" Comment=""/>
@@ -13266,4 +13221,77 @@
1326613221
<Node Name="N0000327C" Type="4" Size="4" bHidden="0" Comment=""/>
1326713222
<Node Name="N0000327D" Type="4" Size="4" bHidden="0" Comment=""/>
1326813223
</Class>
13224+
<Class Name="studiohdr_t" Type="28" Comment="" Offset="1900544" strOffset="1d0000" Code="">
13225+
<Node Name="N00003280" Type="4" Size="4" bHidden="0" Comment=""/>
13226+
<Node Name="N00003281" Type="4" Size="4" bHidden="0" Comment=""/>
13227+
<Node Name="N00003282" Type="4" Size="4" bHidden="0" Comment=""/>
13228+
<Node Name="N00003283" Type="4" Size="4" bHidden="0" Comment=""/>
13229+
<Node Name="N00003284" Type="4" Size="4" bHidden="0" Comment=""/>
13230+
<Node Name="N00003285" Type="4" Size="4" bHidden="0" Comment=""/>
13231+
<Node Name="N00003286" Type="4" Size="4" bHidden="0" Comment=""/>
13232+
<Node Name="N00003287" Type="4" Size="4" bHidden="0" Comment=""/>
13233+
<Node Name="N00003288" Type="4" Size="4" bHidden="0" Comment=""/>
13234+
<Node Name="N00003289" Type="4" Size="4" bHidden="0" Comment=""/>
13235+
<Node Name="N0000328A" Type="4" Size="4" bHidden="0" Comment=""/>
13236+
<Node Name="N0000328B" Type="4" Size="4" bHidden="0" Comment=""/>
13237+
<Node Name="N0000328C" Type="4" Size="4" bHidden="0" Comment=""/>
13238+
<Node Name="N0000328D" Type="4" Size="4" bHidden="0" Comment=""/>
13239+
<Node Name="N0000328E" Type="4" Size="4" bHidden="0" Comment=""/>
13240+
<Node Name="N0000328F" Type="4" Size="4" bHidden="0" Comment=""/>
13241+
<Node Name="N00003290" Type="4" Size="4" bHidden="0" Comment=""/>
13242+
</Class>
13243+
<Class Name="virtualmodel_t" Type="28" Comment="" Offset="1900544" strOffset="1d0000" Code="">
13244+
<Node Name="N00003293" Type="4" Size="4" bHidden="0" Comment=""/>
13245+
<Node Name="N00003294" Type="4" Size="4" bHidden="0" Comment=""/>
13246+
<Node Name="N00003295" Type="4" Size="4" bHidden="0" Comment=""/>
13247+
<Node Name="N00003296" Type="4" Size="4" bHidden="0" Comment=""/>
13248+
<Node Name="N00003297" Type="4" Size="4" bHidden="0" Comment=""/>
13249+
<Node Name="N00003298" Type="4" Size="4" bHidden="0" Comment=""/>
13250+
<Node Name="N00003299" Type="4" Size="4" bHidden="0" Comment=""/>
13251+
<Node Name="N0000329A" Type="4" Size="4" bHidden="0" Comment=""/>
13252+
<Node Name="N0000329B" Type="4" Size="4" bHidden="0" Comment=""/>
13253+
<Node Name="N0000329C" Type="4" Size="4" bHidden="0" Comment=""/>
13254+
<Node Name="N0000329D" Type="4" Size="4" bHidden="0" Comment=""/>
13255+
<Node Name="N0000329E" Type="4" Size="4" bHidden="0" Comment=""/>
13256+
<Node Name="N0000329F" Type="4" Size="4" bHidden="0" Comment=""/>
13257+
<Node Name="N000032A0" Type="4" Size="4" bHidden="0" Comment=""/>
13258+
<Node Name="N000032A1" Type="4" Size="4" bHidden="0" Comment=""/>
13259+
<Node Name="N000032A2" Type="4" Size="4" bHidden="0" Comment=""/>
13260+
<Node Name="N000032A3" Type="4" Size="4" bHidden="0" Comment=""/>
13261+
</Class>
13262+
<Class Name="N000032A5" Type="28" Comment="" Offset="1900544" strOffset="1d0000" Code="">
13263+
<Node Name="N000032A6" Type="4" Size="4" bHidden="0" Comment=""/>
13264+
</Class>
13265+
<Class Name="N000032AC" Type="28" Comment="" Offset="1900544" strOffset="1d0000" Code="">
13266+
<Node Name="N000032AD" Type="4" Size="4" bHidden="0" Comment=""/>
13267+
</Class>
13268+
<Class Name="CThreadFastMutex" Type="28" Comment="" Offset="1900544" strOffset="1d0000" Code="">
13269+
<Node Name="m_ownerID" Type="10" Size="4" bHidden="0" Comment=""/>
13270+
<Node Name="m_depth" Type="10" Size="4" bHidden="0" Comment=""/>
13271+
</Class>
13272+
<Class Name="N0000327B" Type="28" Comment="" Offset="1900544" strOffset="1d0000" Code="">
13273+
<Node Name="N0000327C" Type="4" Size="4" bHidden="0" Comment=""/>
13274+
</Class>
13275+
<Class Name="N0000327F" Type="28" Comment="" Offset="1900544" strOffset="1d0000" Code="">
13276+
<Node Name="N00003280" Type="4" Size="4" bHidden="0" Comment=""/>
13277+
</Class>
13278+
<Class Name="N00003282" Type="28" Comment="" Offset="1900544" strOffset="1d0000" Code="">
13279+
<Node Name="N00003283" Type="4" Size="4" bHidden="0" Comment=""/>
13280+
<Node Name="N00003284" Type="4" Size="4" bHidden="0" Comment=""/>
13281+
<Node Name="N00003285" Type="4" Size="4" bHidden="0" Comment=""/>
13282+
<Node Name="N00003286" Type="4" Size="4" bHidden="0" Comment=""/>
13283+
<Node Name="N00003287" Type="4" Size="4" bHidden="0" Comment=""/>
13284+
<Node Name="N00003288" Type="4" Size="4" bHidden="0" Comment=""/>
13285+
<Node Name="N00003289" Type="4" Size="4" bHidden="0" Comment=""/>
13286+
<Node Name="N0000328A" Type="4" Size="4" bHidden="0" Comment=""/>
13287+
<Node Name="N0000328B" Type="4" Size="4" bHidden="0" Comment=""/>
13288+
<Node Name="N0000328C" Type="4" Size="4" bHidden="0" Comment=""/>
13289+
<Node Name="N0000328D" Type="4" Size="4" bHidden="0" Comment=""/>
13290+
<Node Name="N0000328E" Type="4" Size="4" bHidden="0" Comment=""/>
13291+
<Node Name="N0000328F" Type="4" Size="4" bHidden="0" Comment=""/>
13292+
<Node Name="N00003290" Type="4" Size="4" bHidden="0" Comment=""/>
13293+
<Node Name="N00003291" Type="4" Size="4" bHidden="0" Comment=""/>
13294+
<Node Name="N00003292" Type="4" Size="4" bHidden="0" Comment=""/>
13295+
<Node Name="N00003293" Type="4" Size="4" bHidden="0" Comment=""/>
13296+
</Class>
1326913297
</ReClass>

0 commit comments

Comments
 (0)