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