This commit is contained in:
DavidXanatos 2023-07-22 08:45:17 +02:00
parent e38b03dd60
commit 0b0b20abd7
3 changed files with 23 additions and 1 deletions

View File

@ -15,6 +15,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
### Changed
- reworked Nt Object Handle handling
- "OpenClipboard=n" now is also implemented in user mode, making it work for green boxes
### Fixed
- fixed "Disable Security Isolation" causes a game to stop playing audio [#2893](https://github.com/sandboxie-plus/Sandboxie/issues/2893)
@ -23,6 +24,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
- fixed inpoper global symlink in sandboxed namespace [#3112](https://github.com/sandboxie-plus/Sandboxie/issues/3112)
- fixed 'Addon already installed!' error when clicking 'Show Stack Trace' [#3114](https://github.com/sandboxie-plus/Sandboxie/issues/3114)
- fixed existing BoxNameTitle=process.exe,- removed when toggling other options [#3106](https://github.com/sandboxie-plus/Sandboxie/issues/3106)
- fixed asynchroniusly assigned PCA job not being properly detected [#1919](https://github.com/sandboxie-plus/Sandboxie/issues/1919)

View File

@ -789,6 +789,9 @@ _FX HANDLE Gui_GetClipboardData(UINT uFormat)
// clipboard data
//
if (!SbieApi_QueryConfBool(NULL, L"OpenClipboard", TRUE))
return NULL;
hGlobalRet = __sys_GetClipboardData(uFormat);
if (hGlobalRet)
return hGlobalRet;
@ -1058,6 +1061,9 @@ _FX void Gui_GetClipboardData_MF(void *buf, ULONG sz, ULONG fmt)
// create a local HMETAFILE handle
//
if (!SbieApi_QueryConfBool(NULL, L"OpenClipboard", TRUE))
return;
if ((fmt != CF_METAFILEPICT) || (sz != sizeof(METAFILEPICT))) {
SbieApi_Log(2205, L"Clipboard MetaFile (fmt %04X sz %d)", fmt, sz);
return;

View File

@ -212,9 +212,23 @@ _FX NTSTATUS Process_Api_Query(PROCESS *proc, ULONG64 *parms)
// this is the first SbieApi call by SbieDll
//
if (proc)
if (proc && !proc->sbiedll_loaded) {
proc->sbiedll_loaded = TRUE;
//
// On windows 10 it was observed that the PCA service is assigning its job
// after sandboxie's job was already assigned, so we re check here,
// and when needed restart the process from the sbiedll outside a PCA job.
//
if (proc->forced_process && Driver_OsVersion >= DRIVER_WINDOWS_10) {
if (Process_IsInPcaJob(proc->pid))
proc->in_pca_job = TRUE;
}
}
//
// if a ProcessId was specified, then locate and lock the matching
// process. ProcessId must be specified if the caller is not sandboxed