diff --git a/SandboxiePlus/SandMan/SandMan.cpp b/SandboxiePlus/SandMan/SandMan.cpp
index 2f9ffcce60..52af617cd4 100644
--- a/SandboxiePlus/SandMan/SandMan.cpp
+++ b/SandboxiePlus/SandMan/SandMan.cpp
@@ -2819,10 +2819,10 @@ void CSandMan::SaveMessageLog(QIODevice* pFile)
pFile->write((Msg.TimeStamp.toString("hh:mm:ss.zzz") + "\t" + FormatSbieMessage(Msg.MsgCode, Msg.MsgData, Msg.ProcessName)).toLatin1() + "\n");
}
-bool CSandMan::CheckCertificate(QWidget* pWidget, bool bAdvanced)
+bool CSandMan::CheckCertificate(QWidget* pWidget, int iType)
{
QString Message;
- if (bAdvanced)
+ if (iType == 1)
{
if (CERT_IS_LEVEL(g_CertInfo, eCertAdvanced))
return true;
@@ -2838,8 +2838,12 @@ bool CSandMan::CheckCertificate(QWidget* pWidget, bool bAdvanced)
if (g_CertInfo.active)
return true;
- Message = tr("The selected feature set is only available to project supporters. Processes started in a box with this feature set enabled without a supporter certificate will be terminated after 5 minutes.
"
- "Become a project supporter, and receive a supporter certificate");
+ if(iType == 2)
+ Message = tr("The selected feature set is only available to project supporters.
"
+ "Become a project supporter, and receive a supporter certificate");
+ else
+ Message = tr("The selected feature set is only available to project supporters. Processes started in a box with this feature set enabled without a supporter certificate will be terminated after 5 minutes.
"
+ "Become a project supporter, and receive a supporter certificate");
}
QMessageBox msgBox(pWidget);
diff --git a/SandboxiePlus/SandMan/SandMan.h b/SandboxiePlus/SandMan/SandMan.h
index eaa902f2ee..f8ef50e707 100644
--- a/SandboxiePlus/SandMan/SandMan.h
+++ b/SandboxiePlus/SandMan/SandMan.h
@@ -105,7 +105,7 @@ class CSandMan : public QMainWindow
QIcon IconAddOverlay(const QIcon& Icon, const QString& Name, int Size = 24);
QString GetBoxDescription(int boxType);
- bool CheckCertificate(QWidget* pWidget, bool bAdvanced = false);
+ bool CheckCertificate(QWidget* pWidget, int iType = 0);
bool IsAlwaysOnTop() const;
diff --git a/SandboxiePlus/SandMan/Windows/OptionsGeneral.cpp b/SandboxiePlus/SandMan/Windows/OptionsGeneral.cpp
index 0ec8d1b8bd..2a2c31a657 100644
--- a/SandboxiePlus/SandMan/Windows/OptionsGeneral.cpp
+++ b/SandboxiePlus/SandMan/Windows/OptionsGeneral.cpp
@@ -1114,7 +1114,7 @@ void COptionsWindow::OnDiskChanged()
{
if (sender() == ui.chkEncrypt) {
if (ui.chkEncrypt->isChecked())
- theGUI->CheckCertificate(this, true);
+ theGUI->CheckCertificate(this, 1);
}
if (ui.chkRamBox->isChecked()) {
diff --git a/SandboxiePlus/SandMan/Windows/SettingsWindow.cpp b/SandboxiePlus/SandMan/Windows/SettingsWindow.cpp
index ef8abb3d24..fe8b96639d 100644
--- a/SandboxiePlus/SandMan/Windows/SettingsWindow.cpp
+++ b/SandboxiePlus/SandMan/Windows/SettingsWindow.cpp
@@ -1110,7 +1110,7 @@ void CSettingsWindow::OnRamDiskChange()
{
if (sender() == ui.chkRamDisk) {
if (ui.chkRamDisk->isChecked())
- theGUI->CheckCertificate(this);
+ theGUI->CheckCertificate(this, 2);
}
if (ui.chkRamDisk->isChecked() && ui.txtRamLimit->text().isEmpty())
@@ -1133,11 +1133,14 @@ void CSettingsWindow::OnVolumeChanged()
{
if (sender() == ui.chkSandboxUsb) {
if (ui.chkSandboxUsb->isChecked())
- theGUI->CheckCertificate(this);
+ theGUI->CheckCertificate(this, 2);
}
- ui.cmbUsbSandbox->setEnabled(ui.chkSandboxUsb->isChecked());
- ui.treeVolumes->setEnabled(ui.chkSandboxUsb->isChecked());
+ ui.cmbUsbSandbox->setEnabled(ui.chkSandboxUsb->isChecked() && g_CertInfo.active);
+ ui.treeVolumes->setEnabled(ui.chkSandboxUsb->isChecked() && g_CertInfo.active);
+
+ if (!g_CertInfo.active)
+ return;
m_VolumeChanged = true;
OnOptChanged();