This commit is contained in:
DavidXanatos 2023-07-08 13:51:30 +02:00
parent 137fd96140
commit e397f8354c
4 changed files with 18 additions and 15 deletions

View File

@ -45,6 +45,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
- added workaround for Chrome not starting on Windows 11 with KB5027231 [#3040](https://github.com/sandboxie-plus/Sandboxie/issues/3040)
- improved compatibility with procmon/stack traces for debug builds
- fixed issue with non-standard command lines
- fixed online updater not checking every 7 days but dayly
### Removed
- cleaned up duplicate code (thanks lmou523) [#3067](https://github.com/sandboxie-plus/Sandboxie/pull/3067)

View File

@ -3671,7 +3671,6 @@ OpenIpcPath=\RPC Control\keysvc
[Template_Chrome_KB5027231_fix]
Tmpl.Title=Chromium fix for Windows 11 with KB5027231
Tmpl.Class=WebBrowser
Tmpl.Scan=x
#Tmpl.Scan=u
#Tmpl.ScanUpd=KB5027231
Tmpl.ScanScript=if(system.version().major != 11) return false; return system.checkUpdates("KB5027231");

View File

@ -39,6 +39,7 @@ struct SBoxedProcess
CBoxedProcess::CBoxedProcess(quint32 ProcessId, class CSandBox* pBox)
{
m_pBox = pBox;
if (pBox) m_BoxName = pBox->GetName();
m = new SBoxedProcess;
m->Handle = NULL;

View File

@ -2227,22 +2227,24 @@ void CSandMan::CheckCompat(QObject* receiver, const char* member)
QElapsedTimer* timer = new QElapsedTimer();
timer->start();
QString Script = theGUI->GetScripts()->GetScript("AppCompatibility");
if (!Script.isEmpty()) {
CBoxEngine* pEngine = new CBoxEngine(this);
pEngine->RunScript(Script, "AppCompatibility.js"); // note: script runs asynchronously
QPointer<QObject> pObj = receiver; // QPointer tracks lifetime of receiver
connect(pEngine, &CBoxEngine::finished, this, [pEngine, this, timer, pObj, member]() {
if (theConf->GetBool("Options/SmartAppCompatibility", true)) {
QString Script = theGUI->GetScripts()->GetScript("AppCompatibility");
if (!Script.isEmpty()) {
CBoxEngine* pEngine = new CBoxEngine(this);
pEngine->RunScript(Script, "AppCompatibility.js"); // note: script runs asynchronously
QPointer<QObject> pObj = receiver; // QPointer tracks lifetime of receiver
connect(pEngine, &CBoxEngine::finished, this, [pEngine, this, timer, pObj, member]() {
m_SbieTemplates->SetCheckResult(pEngine->GetResult().toStringList());
m_SbieTemplates->SetCheckResult(pEngine->GetResult().toStringList());
qDebug() << "Compatibility Check took" << timer->elapsed() << "ms";
delete timer;
pEngine->deleteLater(); // script done
if(pObj) QMetaObject::invokeMethod(pObj, member);
});
return;
qDebug() << "Compatibility Check took" << timer->elapsed() << "ms";
delete timer;
pEngine->deleteLater(); // script done
if (pObj) QMetaObject::invokeMethod(pObj, member);
});
return;
}
}
m_SbieTemplates->RunCheck();