Rebase against 1b0d8428dfc13b0fa5ea7d576dfef7aaf8a8c927.

This commit is contained in:
Zebediah Figura
2024-02-19 16:23:40 -06:00
parent 5a1530d636
commit 96503e8822
6 changed files with 40 additions and 150 deletions

View File

@@ -1,4 +1,4 @@
From b652c99cce554343ab9a25b9b0c043a7ffdf53f6 Mon Sep 17 00:00:00 2001
From 33f9b705072126232211f32fc7af56d165ad5dfc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Mon, 8 May 2017 23:33:45 +0200
Subject: [PATCH] shell32: Add security property tab.
@@ -24,10 +24,10 @@ index 743df597ee4..9342384b6ba 100644
SOURCES = \
diff --git a/dlls/shell32/shell32.rc b/dlls/shell32/shell32.rc
index 264947d337d..90898b7ed98 100644
index c11ef8f464c..efdfeb7dcf3 100644
--- a/dlls/shell32/shell32.rc
+++ b/dlls/shell32/shell32.rc
@@ -202,6 +202,33 @@ the folder?"
@@ -201,6 +201,33 @@ the folder?"
IDS_RUNDLG_BROWSE_FILTER_EXE "Executable files (*.exe)"
IDS_RUNDLG_BROWSE_FILTER_ALL "All files (*.*)"
@@ -62,10 +62,10 @@ index 264947d337d..90898b7ed98 100644
/* FIXME: Some will be unused until desktop.ini support is implemented */
IDS_PROGRAMS "Programs"
diff --git a/dlls/shell32/shlview_cmenu.c b/dlls/shell32/shlview_cmenu.c
index 181ff36787e..cc43b710c29 100644
index 9057d7c0175..3c71855a3e5 100644
--- a/dlls/shell32/shlview_cmenu.c
+++ b/dlls/shell32/shlview_cmenu.c
@@ -36,13 +36,132 @@
@@ -36,15 +36,134 @@
#include "shresdef.h"
#include "shlwapi.h"
@@ -81,6 +81,8 @@ index 181ff36787e..cc43b710c29 100644
#define FCIDM_BASE 0x7000
#define VERB_ID_OFFSET 0x200
+/* According to https://blogs.msdn.microsoft.com/oldnewthing/20070726-00/?p=25833 */
+static const SI_ACCESS access_rights_files[] =
+{
@@ -195,11 +197,11 @@ index 181ff36787e..cc43b710c29 100644
+ return CONTAINING_RECORD(iface, struct FileSecurity, ISecurityInformation_iface);
+}
+
typedef struct
struct verb
{
IContextMenu3 IContextMenu3_iface;
@@ -634,6 +753,269 @@ error:
free(props);
WCHAR *desc;
@@ -659,6 +778,269 @@ static void get_filetype(LPCITEMIDLIST pidl, WCHAR filetype[MAX_PATH])
}
}
+static HRESULT WINAPI filesecurity_QueryInterface(ISecurityInformation *iface, REFIID riid, void **ppv)
@@ -468,7 +470,7 @@ index 181ff36787e..cc43b710c29 100644
#define MAX_PROP_PAGES 99
static void DoOpenProperties(ContextMenu *This, HWND hwnd)
@@ -713,6 +1095,7 @@ static void DoOpenProperties(ContextMenu *This, HWND hwnd)
@@ -708,6 +1090,7 @@ static void DoOpenProperties(ContextMenu *This, HWND hwnd)
if (SUCCEEDED(ret))
{
init_file_properties_pages(lpDo, Properties_AddPropSheetCallback, (LPARAM)&psh);
@@ -477,10 +479,10 @@ index 181ff36787e..cc43b710c29 100644
hpsxa = SHCreatePropSheetExtArrayEx(HKEY_CLASSES_ROOT, wszFiletype, MAX_PROP_PAGES - psh.nPages, lpDo);
if (hpsxa != NULL)
diff --git a/dlls/shell32/shresdef.h b/dlls/shell32/shresdef.h
index 210046e729d..0f3a64f16d2 100644
index 0a365e62276..ef502a8686f 100644
--- a/dlls/shell32/shresdef.h
+++ b/dlls/shell32/shresdef.h
@@ -155,6 +155,33 @@
@@ -158,6 +158,33 @@
#define IDS_FILEOP_FROM 337
#define IDS_FILEOP_PREFLIGHT 338
@@ -515,5 +517,5 @@ index 210046e729d..0f3a64f16d2 100644
#define IDS_RECYCLEBIN_FOLDER_NAME 8964
--
2.42.0
2.43.0