QCoreApplicationPrivate: use std::unique_ptr for origArgv
Change-Id: Id03feb55d3c3899aa4fffffdc0b3ee7b0742f9e8 Reviewed-by: Ahmad Samir <a.samirh78@gmail.com> (cherry picked from commit 981c2e8b746a9fb41164e6911d1609119bf1c600)
This commit is contained in:
parent
b9e8a966ea
commit
37dbdd9b58
@ -435,8 +435,8 @@ QCoreApplicationPrivate::QCoreApplicationPrivate(int &aargc, char **aargv)
|
|||||||
#if defined(Q_OS_WIN)
|
#if defined(Q_OS_WIN)
|
||||||
if (!isArgvModified(argc, argv)) {
|
if (!isArgvModified(argc, argv)) {
|
||||||
origArgc = argc;
|
origArgc = argc;
|
||||||
origArgv = new char *[argc];
|
origArgv = q20::make_unique_for_overwrite<char *[]>(argc);
|
||||||
std::copy(argv, argv + argc, QT_MAKE_CHECKED_ARRAY_ITERATOR(origArgv, argc));
|
std::copy(argv, argv + argc, origArgv.get());
|
||||||
}
|
}
|
||||||
#endif // Q_OS_WIN
|
#endif // Q_OS_WIN
|
||||||
|
|
||||||
@ -460,7 +460,6 @@ QCoreApplicationPrivate::~QCoreApplicationPrivate()
|
|||||||
cleanupThreadData();
|
cleanupThreadData();
|
||||||
#endif
|
#endif
|
||||||
#if defined(Q_OS_WIN)
|
#if defined(Q_OS_WIN)
|
||||||
delete [] origArgv;
|
|
||||||
cleanupDebuggingConsole();
|
cleanupDebuggingConsole();
|
||||||
#endif
|
#endif
|
||||||
QCoreApplicationPrivate::clearApplicationFilePath();
|
QCoreApplicationPrivate::clearApplicationFilePath();
|
||||||
|
@ -127,8 +127,10 @@ public:
|
|||||||
int &argc;
|
int &argc;
|
||||||
char **argv;
|
char **argv;
|
||||||
#if defined(Q_OS_WIN)
|
#if defined(Q_OS_WIN)
|
||||||
|
// store unmodified arguments for QCoreApplication::arguments()
|
||||||
int origArgc = 0;
|
int origArgc = 0;
|
||||||
char **origArgv = nullptr; // store unmodified arguments for QCoreApplication::arguments()
|
std::unique_ptr<char *[]> origArgv;
|
||||||
|
|
||||||
bool consoleAllocated = false;
|
bool consoleAllocated = false;
|
||||||
#endif
|
#endif
|
||||||
void appendApplicationPathToLibraryPaths(void);
|
void appendApplicationPathToLibraryPaths(void);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user