Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions Source/WinObjEx64/aboutDlg.c
Original file line number Diff line number Diff line change
Expand Up @@ -293,6 +293,7 @@ INT_PTR CALLBACK AboutDialogProc(

static HANDLE StatsDialogThreadHandle = NULL;
static FAST_EVENT StatsDialogInitializedEvent = FAST_EVENT_INIT;
static HWND StatsDialogWindow = NULL;
#define UPDATE_TIMER_ID 1

/*
Expand Down Expand Up @@ -358,19 +359,20 @@ INT_PTR CALLBACK StatsDialogProc(
case WM_INITDIALOG:
supCenterWindowSpecifyParent(hwndDlg, g_hwndMain);
SetTimer(hwndDlg, UPDATE_TIMER_ID, 1000, (TIMERPROC)StatsTimerProc);
StatsDialogWindow = hwndDlg;
break;

case WM_DESTROY:
PostQuitMessage(0);
break;

case WM_CLOSE:
StatsDialogWindow = NULL;
KillTimer(hwndDlg, UPDATE_TIMER_ID);
DestroyWindow(hwndDlg);
return TRUE;

case WM_COMMAND:

switch (GET_WM_COMMAND_ID(wParam, lParam)) {
case IDCANCEL:
case IDOK:
Expand Down Expand Up @@ -443,9 +445,10 @@ VOID ShowStatsDialog(
)
{
if (!StatsDialogThreadHandle) {

StatsDialogThreadHandle = supCreateThread(StatsDialogWorkerThread, NULL, 0);
supWaitForFastEvent(&StatsDialogInitializedEvent, NULL);

}
else {
supRestoreDialogWindow(StatsDialogWindow);
}
}
32 changes: 0 additions & 32 deletions Source/WinObjEx64/extras/extras.c
Original file line number Diff line number Diff line change
Expand Up @@ -183,38 +183,6 @@ VOID extrasProcessElevationRequiredDialogs(
}
}

/*
* extrasViewWithWinDepends
*
* Purpose:
*
* Open selected image in WinDepends.
*
*/
VOID extrasViewWithWinDepends(
_In_ EXTRASCONTEXT* Context,
_In_ INT nItem
)
{
LPWSTR lpItem, lpWin32Name;
INT mark;

if (ListView_GetSelectedCount(Context->ListView)) {
mark = ListView_GetSelectionMark(Context->ListView);
if (mark >= 0) {
lpItem = supGetItemText(Context->ListView, mark, nItem, NULL);
if (lpItem) {
lpWin32Name = supGetWin32FileName(lpItem);
if (lpWin32Name) {
supOpenImageInWinDepends(Context->hwndDlg, lpWin32Name, g_WinObj.szWinDependsExecutable);
supHeapFree(lpWin32Name);
}
supHeapFree(lpItem);
}
}
}
}

/*
* extrasShowDialogById
*
Expand Down
4 changes: 0 additions & 4 deletions Source/WinObjEx64/extras/extras.h
Original file line number Diff line number Diff line change
Expand Up @@ -99,10 +99,6 @@ VOID extrasShowDialogById(
VOID extrasHandleSettingsChange(
_In_ EXTRASCONTEXT* Context);

VOID extrasViewWithWinDepends(
_In_ EXTRASCONTEXT* Context,
_In_ INT nItem);

//
// Dialog handlers.
//
Expand Down
74 changes: 30 additions & 44 deletions Source/WinObjEx64/extras/extrasCallbacks.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@

static HANDLE SysCbThreadHandle = NULL;
static FAST_EVENT SysCbInitializedEvent = FAST_EVENT_INIT;
static EXTRASCONTEXT g_SysCbDlgContext;

#define ID_CBLIST_VIEW_WDX 40108
#define CBLIST_IMAGEPATH_INDEX 1

//
// Scan limit constants.
Expand Down Expand Up @@ -5713,6 +5717,13 @@ VOID SysCbDialogHandlePopupMenu(
InsertMenu(hMenu, uPos++, MF_BYPOSITION | MF_SEPARATOR, 0, NULL);
}
InsertMenu(hMenu, uPos++, MF_BYCOMMAND, ID_VIEW_REFRESH, T_VIEW_REFRESH);

//
// View With WinDepends
//
if (g_WinObj.WinDependsPresent)
InsertMenu(hMenu, ++uPos, MF_BYCOMMAND, ID_CBLIST_VIEW_WDX, T_VIEWWITH_WDX);

TrackPopupMenu(hMenu, TPM_RIGHTBUTTON | TPM_LEFTALIGN, pt1.x, pt1.y, 0, hwndDlg, NULL);
DestroyMenu(hMenu);
}
Expand Down Expand Up @@ -5783,16 +5794,13 @@ VOID SysCbDialogContentRefresh(
*/
VOID SysCbDialogOnInit(
_In_ HWND hwndDlg,
_In_ LPARAM lParam
_In_ EXTRASCONTEXT *pDlgContext
)
{
EXTRASCONTEXT* pDlgContext = (EXTRASCONTEXT*)lParam;
RECT rc;
HDITEM hdritem;
INT SbParts[] = { 200, -1 };

SetProp(hwndDlg, T_DLGCONTEXT, (HANDLE)lParam);

pDlgContext->hwndDlg = hwndDlg;
pDlgContext->StatusBar = GetDlgItem(hwndDlg, ID_EXTRASLIST_STATUSBAR);
SendMessage(pDlgContext->StatusBar, SB_SETPARTS, 2, (LPARAM)&SbParts);
Expand Down Expand Up @@ -5843,12 +5851,10 @@ INT_PTR CALLBACK SysCbDialogProc(
_In_ LPARAM lParam
)
{
EXTRASCONTEXT* pDlgContext;

switch (uMsg) {

case WM_INITDIALOG:
SysCbDialogOnInit(hwndDlg, lParam);
SysCbDialogOnInit(hwndDlg, &g_SysCbDlgContext);
break;

case WM_GETMINMAXINFO:
Expand All @@ -5861,20 +5867,13 @@ INT_PTR CALLBACK SysCbDialogProc(
break;

case WM_SIZE:
pDlgContext = (EXTRASCONTEXT*)GetProp(hwndDlg, T_DLGCONTEXT);
if (pDlgContext) {
SysCbDialogResize(hwndDlg, pDlgContext->StatusBar, pDlgContext->TreeList);
}
SysCbDialogResize(hwndDlg, g_SysCbDlgContext.StatusBar, g_SysCbDlgContext.TreeList);
break;

case WM_CLOSE:
pDlgContext = (EXTRASCONTEXT*)RemoveProp(hwndDlg, T_DLGCONTEXT);
if (pDlgContext) {
extrasRemoveDlgIcon(pDlgContext);
supHeapFree(pDlgContext);
}
extrasRemoveDlgIcon(&g_SysCbDlgContext);
DestroyWindow(hwndDlg);
break;
return TRUE;

case WM_DESTROY:
PostQuitMessage(0);
Expand All @@ -5887,32 +5886,23 @@ INT_PTR CALLBACK SysCbDialogProc(
break;

case ID_OBJECT_COPY:
pDlgContext = (EXTRASCONTEXT*)GetProp(hwndDlg, T_DLGCONTEXT);
if (pDlgContext) {

supTreeListCopyItemValueToClipboard(pDlgContext->TreeList,
pDlgContext->tlSubItemHit);

}
supTreeListCopyItemValueToClipboard(g_SysCbDlgContext.TreeList, g_SysCbDlgContext.tlSubItemHit);
break;

case ID_VIEW_REFRESH:
pDlgContext = (EXTRASCONTEXT*)GetProp(hwndDlg, T_DLGCONTEXT);
if (pDlgContext) {
SysCbDialogContentRefresh(hwndDlg, pDlgContext, TRUE);
}
SysCbDialogContentRefresh(hwndDlg, &g_SysCbDlgContext, TRUE);
break;

case ID_CBLIST_VIEW_WDX:
supViewWithWinDepends(g_SysCbDlgContext.hwndDlg, g_SysCbDlgContext.TreeList, CBLIST_IMAGEPATH_INDEX, FALSE);
break;

}
break;

case WM_CONTEXTMENU:
pDlgContext = (EXTRASCONTEXT*)GetProp(hwndDlg, T_DLGCONTEXT);
if (pDlgContext) {
SysCbDialogHandlePopupMenu(hwndDlg, pDlgContext, lParam);
}
SysCbDialogHandlePopupMenu(hwndDlg, &g_SysCbDlgContext, lParam);
break;

}

return FALSE;
Expand Down Expand Up @@ -5987,18 +5977,14 @@ VOID extrasCreateCallbacksDialog(
VOID
)
{
EXTRASCONTEXT* pDlgContext;

if (!SysCbThreadHandle) {
pDlgContext = (EXTRASCONTEXT*)supHeapAlloc(sizeof(EXTRASCONTEXT));
if (pDlgContext) {
pDlgContext->tlSubItemHit = -1;
SysCbThreadHandle = supCreateDialogWorkerThread(extrasSysCbDialogWorkerThread, pDlgContext, 0);
if (SysCbThreadHandle == NULL) {
supHeapFree(pDlgContext);
return;
}
RtlSecureZeroMemory(&g_SysCbDlgContext, sizeof(EXTRASCONTEXT));
g_SysCbDlgContext.tlSubItemHit = -1;
SysCbThreadHandle = supCreateDialogWorkerThread(extrasSysCbDialogWorkerThread, &g_SysCbDlgContext, 0);
if (SysCbThreadHandle)
supWaitForFastEvent(&SysCbInitializedEvent, NULL);
}
}
else {
supRestoreDialogWindow(g_SysCbDlgContext.hwndDlg);
}
}
2 changes: 1 addition & 1 deletion Source/WinObjEx64/extras/extrasDrivers.c
Original file line number Diff line number Diff line change
Expand Up @@ -1289,7 +1289,7 @@ VOID DrvDlgHandleWMCommand(

case ID_DRVLIST_VIEW_WDX:
if (pDlgContext) {
extrasViewWithWinDepends(pDlgContext, COLUMN_DRVLIST_MODULE_NAME);
supViewWithWinDepends(pDlgContext->hwndDlg, pDlgContext->ListView, COLUMN_DRVLIST_MODULE_NAME, TRUE);
}
break;

Expand Down
2 changes: 1 addition & 1 deletion Source/WinObjEx64/extras/extrasIPC.c
Original file line number Diff line number Diff line change
Expand Up @@ -922,7 +922,7 @@ INT_PTR CALLBACK IpcDlgProc(
ImageList_Destroy(pDlgContext->ImageList);
}
DestroyWindow(hwndDlg);
break;
return TRUE;

case WM_COMMAND:

Expand Down
9 changes: 2 additions & 7 deletions Source/WinObjEx64/extras/extrasPN.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@
#include "extras.h"
#include "propDlg.h"

EXTRASCONTEXT PnDlgContext;
ULONG PNSNumberOfObjects = 0;
HANDLE PNSObjectsHeap = NULL;

static EXTRASCONTEXT PnDlgContext;
static HANDLE PnDlgThreadHandle = NULL;
static FAST_EVENT PnDlgInitializedEvent = FAST_EVENT_INIT;

Expand Down Expand Up @@ -832,7 +832,7 @@ INT_PTR CALLBACK PNDialogProc(

case WM_CLOSE:
PNDialogOnClose(hwndDlg);
break;
return TRUE;

case WM_COMMAND:

Expand Down Expand Up @@ -866,18 +866,13 @@ INT_PTR CALLBACK PNDialogProc(
case ID_OBJECT_PROPERTIES:

if (ListView_GetSelectedCount(PnDlgContext.ListView)) {

nSelected = ListView_GetSelectionMark(PnDlgContext.ListView);
if (nSelected >= 0) {
PNDlgShowObjectProperties(nSelected);
}

}

break;

}

break;
}

Expand Down
Loading