Skip to content

Commit

Permalink
1.4.0
Browse files Browse the repository at this point in the history
  • Loading branch information
DavidXanatos committed Sep 29, 2022
1 parent bffe632 commit eae5956
Show file tree
Hide file tree
Showing 170 changed files with 31,769 additions and 18,793 deletions.
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,29 @@ This project adheres to [Semantic Versioning](http://semver.org/).






## [1.4.0 / 5.59.0] - 2022-08-??

### Added
- added integrated run from start menu [#1836](https://github.com/sandboxie-plus/Sandboxie/issues/1836)
- addes start menu enumeration [#1570](https://github.com/sandboxie-plus/Sandboxie/issues/1570)
- added UI for breakout processes [#1904](https://github.com/sandboxie-plus/Sandboxie/issues/1904)
- added option to customize box double click action
- added new advnaced tab in the advanced tab alowing to configure proces specific and otehr advanced options
- added "SeparateUserFolders=y" and "SandboxieLogon=y" to the box option dialog
- added icons to option section labels


### Changed
- preapred for Qt 6.2
- resructured the general settings page
- resructured the sandbox options page, added a new tab and moved some of the advanced options there




## [1.3.5 / 5.58.5] - 2022-09-26

### Added
Expand Down
4 changes: 2 additions & 2 deletions Sandboxie/common/my_version.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
#ifndef _MY_VERSION_H
#define _MY_VERSION_H

#define MY_VERSION_BINARY 5,58,5
#define MY_VERSION_STRING "5.58.5"
#define MY_VERSION_BINARY 5,59,0
#define MY_VERSION_STRING "5.59.0"
#define MY_VERSION_COMPAT "5.58.0" // this refers to the driver ABI compatibility

// These #defines are used by either Resource Compiler or NSIS installer
Expand Down
4 changes: 1 addition & 3 deletions SandboxiePlus/MiscHelpers/Common/CheckableMessageBox.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -127,9 +127,7 @@ void CCheckableMessageBox::setText(const QString &t)

QPixmap CCheckableMessageBox::iconPixmap() const
{
if (const QPixmap *p = d->pixmapLabel->pixmap())
return QPixmap(*p);
return QPixmap();
return d->pixmapLabel->pixmap(Qt::ReturnByValue);
}

void CCheckableMessageBox::setIconPixmap(const QPixmap &p)
Expand Down
4 changes: 1 addition & 3 deletions SandboxiePlus/MiscHelpers/Common/ComboInputDialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -172,9 +172,7 @@ int CComboInputDialog::findData(const QVariant & v) const

QPixmap CComboInputDialog::iconPixmap() const
{
if (const QPixmap *p = d->pixmapLabel->pixmap())
return QPixmap(*p);
return QPixmap();
return d->pixmapLabel->pixmap(Qt::ReturnByValue);
}

void CComboInputDialog::setIconPixmap(const QPixmap &p)
Expand Down
46 changes: 23 additions & 23 deletions SandboxiePlus/MiscHelpers/Common/Common.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ int vswprintf_l(wchar_t * _String, size_t _Count, const wchar_t * _Format, va_li
time_t GetTime()
{
QDateTime dateTime = QDateTime::currentDateTime();
time_t time = dateTime.toTime_t(); // returns time in seconds (since 1970-01-01T00:00:00) in UTC !
time_t time = dateTime.toSecsSinceEpoch(); // returns time in seconds (since 1970-01-01T00:00:00) in UTC !
return time;
}

Expand Down Expand Up @@ -286,27 +286,27 @@ QString FormatUnit(quint64 Size, int Precision)
}


QString FormatTime(quint64 Time, bool ms)
{
int miliseconds = 0;
if (ms) {
miliseconds = Time % 1000;
Time /= 1000;
}
int seconds = Time % 60;
Time /= 60;
int minutes = Time % 60;
Time /= 60;
int hours = Time % 24;
int days = Time / 24;
if(ms && (minutes == 0) && (hours == 0) && (days == 0))
return QString().sprintf("%02d.%04d", seconds, miliseconds);
if((hours == 0) && (days == 0))
return QString().sprintf("%02d:%02d", minutes, seconds);
if (days == 0)
return QString().sprintf("%02d:%02d:%02d", hours, minutes, seconds);
return QString().sprintf("%dd%02d:%02d:%02d", days, hours, minutes, seconds);
}
//QString FormatTime(quint64 Time, bool ms)
//{
// int miliseconds = 0;
// if (ms) {
// miliseconds = Time % 1000;
// Time /= 1000;
// }
// int seconds = Time % 60;
// Time /= 60;
// int minutes = Time % 60;
// Time /= 60;
// int hours = Time % 24;
// int days = Time / 24;
// if(ms && (minutes == 0) && (hours == 0) && (days == 0))
// return QString().sprintf("%02d.%04d", seconds, miliseconds);
// if((hours == 0) && (days == 0))
// return QString().sprintf("%02d:%02d", minutes, seconds);
// if (days == 0)
// return QString().sprintf("%02d:%02d:%02d", hours, minutes, seconds);
// return QString().sprintf("%dd%02d:%02d:%02d", days, hours, minutes, seconds);
//}

QString FormatNumber(quint64 Number)
{
Expand Down Expand Up @@ -482,7 +482,7 @@ void GrayScale (QImage& Image)
uchar* g = (Image.bits () + 1);
uchar* b = (Image.bits () + 2);

uchar* end = (Image.bits() + Image.byteCount ());
uchar* end = (Image.bits() + Image.sizeInBytes());
while (r != end)
{
*r = *g = *b = (((*r + *g) >> 1) + *b) >> 1; // (r + b + g) / 3
Expand Down
10 changes: 8 additions & 2 deletions SandboxiePlus/MiscHelpers/Common/Common.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ MISCHELPERS_EXPORT typedef QPair<QString,QString> StrPair;
MISCHELPERS_EXPORT StrPair Split2(const QString& String, QString Separator = "=", bool Back = false);
MISCHELPERS_EXPORT QStringList SplitStr(const QString& String, QString Separator);

typedef MISCHELPERS_EXPORT QMap<QString,QString> TArguments;
typedef MISCHELPERS_EXPORT QMultiMap<QString,QString> TArguments;
TArguments MISCHELPERS_EXPORT GetArguments(const QString& Arguments, QChar Separator = L';', QChar Assigner = L'=', QString* First = NULL, bool bLowerKeys = false, bool bReadEsc = false);

MISCHELPERS_EXPORT QString UnEscape(QString Text);
Expand All @@ -29,7 +29,7 @@ __inline QString FormatSizeEx(quint64 Size, bool bEx) { return bEx && (Size == 0
MISCHELPERS_EXPORT QString FormatRate(quint64 Size, int Precision = 2);
__inline QString FormatRateEx(quint64 Size, bool bEx) { return bEx && (Size == 0) ? QString() : FormatRate(Size); }
MISCHELPERS_EXPORT QString FormatUnit(quint64 Size, int Precision = 0);
MISCHELPERS_EXPORT QString FormatTime(quint64 Time, bool ms = false);
//MISCHELPERS_EXPORT QString FormatTime(quint64 Time, bool ms = false);
MISCHELPERS_EXPORT QString FormatNumber(quint64 Number);
__inline QString FormatNumberEx(quint64 Number, bool bEx) { return bEx && (Number == 0) ? QString() : FormatNumber(Number); }
MISCHELPERS_EXPORT QString FormatAddress(quint64 Address, int length = 16);
Expand Down Expand Up @@ -116,3 +116,9 @@ MISCHELPERS_EXPORT bool InitConsole(bool bCreateIfNeeded = true);

MISCHELPERS_EXPORT void SafeShow(QWidget* pWidget);
MISCHELPERS_EXPORT int SafeExec(QDialog* pDialog);

template <typename T>
QSet<T> ListToSet(const QList<T>& qList) { return QSet<QString>(qList.begin(), qList.end()); }

template <typename T>
QList<T> SetToList(const QSet<T>& qSet) { return QList<QString>(qSet.begin(), qSet.end()); }
24 changes: 12 additions & 12 deletions SandboxiePlus/MiscHelpers/Common/DebugHelpers.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -87,24 +87,24 @@ CMemTracer memTracer;
void CMemTracer::DumpTrace()
{
QMutexLocker Locker(&m_Locker);
for(map<string,int>::iterator I = m_MemoryTrace.begin(); I != m_MemoryTrace.end(); I++)
for(std::map<std::string,int>::iterator I = m_MemoryTrace.begin(); I != m_MemoryTrace.end(); I++)
{

map<string,int>::iterator J = m_MemoryTrace2.find(I->first);
std::map<std::string,int>::iterator J = m_MemoryTrace2.find(I->first);
if(J != m_MemoryTrace2.end())
TRACE(L"MEMORY TRACE: Object '%S' has %d (%d) instances.",I->first.c_str(),I->second, J->second);
else
TRACE(L"MEMORY TRACE: Object '%S' has %d instances.",I->first.c_str(),I->second);
}
}

void CMemTracer::TraceAlloc(string Name)
void CMemTracer::TraceAlloc(std::string Name)
{
QMutexLocker Locker(&m_Locker);
m_MemoryTrace[Name] += 1;
}

void CMemTracer::TraceFree(string Name)
void CMemTracer::TraceFree(std::string Name)
{
QMutexLocker Locker(&m_Locker);
m_MemoryTrace[Name] -= 1;
Expand All @@ -114,7 +114,7 @@ void CMemTracer::TraceFree(string Name)
m_MemoryTrace2[Name] -= 1;
}

void CMemTracer::TracePre(string Name)
void CMemTracer::TracePre(std::string Name)
{
QMutexLocker Locker(&m_Locker);
m_MemoryTrace2[Name] += 1;
Expand All @@ -126,7 +126,7 @@ CCpuTracer cpuTracer;
void CCpuTracer::DumpTrace()
{
QMutexLocker Locker(&m_Locker);
for(map<string,SCycles>::iterator I = m_CpuUsageTrace.begin(); I != m_CpuUsageTrace.end(); I++)
for(std::map<std::string,SCycles>::iterator I = m_CpuUsageTrace.begin(); I != m_CpuUsageTrace.end(); I++)
TRACE(L"CPU TRACE: Prozedure '%S' needed %f seconds.",I->first.c_str(),(double)I->second.Total/1000000.0);
}

Expand All @@ -136,13 +136,13 @@ void CCpuTracer::ResetTrace()
m_CpuUsageTrace.clear();
}

void CCpuTracer::TraceStart(string Name)
void CCpuTracer::TraceStart(std::string Name)
{
QMutexLocker Locker(&m_Locker);
m_CpuUsageTrace[Name].Counting = GetCurCycle();
}

void CCpuTracer::TraceStop(string Name)
void CCpuTracer::TraceStop(std::string Name)
{
QMutexLocker Locker(&m_Locker);
m_CpuUsageTrace[Name].Total += GetCurCycle() - m_CpuUsageTrace[Name].Counting;
Expand All @@ -155,11 +155,11 @@ CLockTracer lockTracer;
void CLockTracer::DumpTrace()
{
QMutexLocker Locker(&m_Locker);
for(map<string,SLocks>::iterator I = m_LockTrace.begin(); I != m_LockTrace.end(); I++)
for(std::map<std::string,SLocks>::iterator I = m_LockTrace.begin(); I != m_LockTrace.end(); I++)
TRACE(L"LOCK TRACE: Lock '%S' has %d Locks for %f seconds.",I->first.c_str(),I->second.LockCount, (double)(GetCurCycle()/1000 - I->second.LockTime) / 1000);
}

void CLockTracer::TraceLock(string Name, int op)
void CLockTracer::TraceLock(std::string Name, int op)
{
QMutexLocker Locker(&m_Locker);
SLocks &Locks = m_LockTrace[Name];
Expand Down Expand Up @@ -213,7 +213,7 @@ static LONG __stdcall MyCrashHandlerExceptionFilter(EXCEPTION_POINTERS* pEx)
bool bSuccess = false;

wchar_t szMiniDumpFileName[128];
wsprintf(szMiniDumpFileName, L"%s %s.dmp", s_szMiniDumpName, QDateTime::currentDateTime().toString("dd.MM.yyyy hh-mm-ss,zzz").replace(QRegExp("[:*?<>|\"\\/]"), "_").toStdWString().c_str());
wsprintf(szMiniDumpFileName, L"%s %s.dmp", s_szMiniDumpName, QDateTime::currentDateTime().toString("dd.MM.yyyy hh-mm-ss,zzz").replace(QRegularExpression("[:*?<>|\"\\/]"), "_").toStdWString().c_str());

/*wchar_t szMiniDumpPath[MAX_PATH] = { 0 };
Expand Down Expand Up @@ -348,7 +348,7 @@ void crit_err_hdlr(int sig_num, siginfo_t * info, void * ucontext)
messages = backtrace_symbols(array, size);

char szMiniDumpFileName[128];
sprintf(szMiniDumpFileName, "%S_%s.log", s_szMiniDumpName, QDateTime::currentDateTime().toString("dd.MM.yyyy_hh-mm-ss,zzz").replace(QRegExp("[:*?<>|\"\\/]"), "_").toStdString().c_str());
sprintf(szMiniDumpFileName, "%S_%s.log", s_szMiniDumpName, QDateTime::currentDateTime().toString("dd.MM.yyyy_hh-mm-ss,zzz").replace(QRegularExpression("[:*?<>|\"\\/]"), "_").toStdString().c_str());

FILE* file = fopen(szMiniDumpFileName, "wb");

Expand Down
24 changes: 12 additions & 12 deletions SandboxiePlus/MiscHelpers/Common/DebugHelpers.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,15 @@ class MISCHELPERS_EXPORT CMemTracer

void DumpTrace();

void TraceAlloc(string Name);
void TraceFree(string Name);
void TracePre(string Name);
void TraceAlloc(std::string Name);
void TraceFree(std::string Name);
void TracePre(std::string Name);


private:
QMutex m_Locker;
map<string,int> m_MemoryTrace;
map<string,int> m_MemoryTrace2;
std::map<std::string,int> m_MemoryTrace;
std::map<std::string,int> m_MemoryTrace2;
};

MISCHELPERS_EXPORT extern CMemTracer memTracer;
Expand All @@ -66,8 +66,8 @@ class MISCHELPERS_EXPORT CCpuTracer
void DumpTrace();
void ResetTrace();

void TraceStart(string Name);
void TraceStop(string Name);
void TraceStart(std::string Name);
void TraceStop(std::string Name);

private:
struct SCycles
Expand All @@ -81,7 +81,7 @@ class MISCHELPERS_EXPORT CCpuTracer
quint64 Total;
};
QMutex m_Locker;
map<string,SCycles> m_CpuUsageTrace;
std::map<std::string,SCycles> m_CpuUsageTrace;
};

MISCHELPERS_EXPORT extern CCpuTracer cpuTracer;
Expand All @@ -100,7 +100,7 @@ class MISCHELPERS_EXPORT CLockTracer

void DumpTrace();

void TraceLock(string Name, int op);
void TraceLock(std::string Name, int op);

private:
QMutex m_Locker;
Expand All @@ -114,7 +114,7 @@ class MISCHELPERS_EXPORT CLockTracer
time_t LockTime;
int LockCount;
};
map<string,SLocks> m_LockTrace;
std::map<std::string,SLocks> m_LockTrace;
};

MISCHELPERS_EXPORT extern CLockTracer lockTracer;
Expand All @@ -126,7 +126,7 @@ MISCHELPERS_EXPORT extern CLockTracer lockTracer;
class MISCHELPERS_EXPORT CLockerTrace
{
public:
CLockerTrace(string Name)
CLockerTrace(std::string Name)
{
m_Name = Name;
lockTracer.TraceLock(m_Name,1);
Expand All @@ -137,7 +137,7 @@ class MISCHELPERS_EXPORT CLockerTrace
}

private:
string m_Name;
std::string m_Name;
};

#define TRACE_LOCKER(x)CLockerTrace LockTrace(x)
Expand Down
19 changes: 12 additions & 7 deletions SandboxiePlus/MiscHelpers/Common/Finder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ QWidget* CFinder::AddFinder(QWidget* pList, QObject* pFilterTarget, bool HighLig
{
QWidget* pWidget = new QWidget();
QVBoxLayout* pLayout = new QVBoxLayout();
pLayout->setMargin(0);
pLayout->setContentsMargins(0,0,0,0);
pWidget->setLayout(pLayout);

pLayout->addWidget(pList);
Expand All @@ -23,7 +23,7 @@ CFinder::CFinder(QObject* pFilterTarget, QWidget *parent, bool HighLightOption)
:QWidget(parent)
{
m_pSearchLayout = new QHBoxLayout();
m_pSearchLayout->setMargin(0);
m_pSearchLayout->setContentsMargins(0,0,0,0);
m_pSearchLayout->setSpacing(3);
m_pSearchLayout->setAlignment(Qt::AlignLeft);

Expand Down Expand Up @@ -92,7 +92,7 @@ CFinder::CFinder(QObject* pFilterTarget, QWidget *parent, bool HighLightOption)
}

if (pFilterTarget) {
QObject::connect(this, SIGNAL(SetFilter(const QRegExp&, bool, int)), pFilterTarget, SLOT(SetFilter(const QRegExp&, bool, int)));
QObject::connect(this, SIGNAL(SetFilter(const QRegularExpression&, bool, int)), pFilterTarget, SLOT(SetFilter(const QRegularExpression&, bool, int)));
QObject::connect(this, SIGNAL(SelectNext()), pFilterTarget, SLOT(SelectNext()));
}

Expand Down Expand Up @@ -136,11 +136,16 @@ void CFinder::Open()
OnUpdate();
}

QRegExp CFinder::GetRegExp() const
QRegularExpression CFinder::GetRegExp() const
{
if (!isVisible() || m_pSearch->text().isEmpty())
return QRegExp();
return QRegExp(m_pSearch->text(), m_pCaseSensitive->isChecked() ? Qt::CaseSensitive : Qt::CaseInsensitive, m_pRegExp->isChecked() ? QRegExp::RegExp : QRegExp::FixedString);
return QRegularExpression();
QString Exp;
if(m_pRegExp->isChecked())
Exp = m_pSearch->text();
else
Exp = QRegularExpression::wildcardToRegularExpression("*" + m_pSearch->text() + "*");
return QRegularExpression(Exp, m_pCaseSensitive->isChecked() ? QRegularExpression::NoPatternOption : QRegularExpression::CaseInsensitiveOption);
}

void CFinder::OnUpdate()
Expand All @@ -164,6 +169,6 @@ void CFinder::OnReturn()

void CFinder::Close()
{
emit SetFilter(QRegExp());
emit SetFilter(QRegularExpression());
hide();
}
Loading

0 comments on commit eae5956

Please sign in to comment.