diff options
author | Liang Qi <liang.qi@qt.io> | 2019-03-06 12:31:50 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2019-03-06 12:31:50 +0100 |
commit | 2add2dbdaa9ff6ca6637ca22d6a9b7c7027751be (patch) | |
tree | 585628b0ceacfbdef5b9661c4043b9f71dfe9b01 /src/corelib/io | |
parent | f792fed2ff519ffac1436e41e47cc0504d253a77 (diff) | |
parent | 4eda22ea0db1fc571ae9f44a68825056e6245548 (diff) |
Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts:
src/network/access/http2/hpacktable_p.h
Change-Id: Ie0c296667dfdebba84f4858056a1ac80c24ee7df
Diffstat (limited to 'src/corelib/io')
-rw-r--r-- | src/corelib/io/qtemporaryfile.cpp | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/corelib/io/qtemporaryfile.cpp b/src/corelib/io/qtemporaryfile.cpp index 7e3be9ef36..35bb465a04 100644 --- a/src/corelib/io/qtemporaryfile.cpp +++ b/src/corelib/io/qtemporaryfile.cpp @@ -912,16 +912,20 @@ QTemporaryFile *QTemporaryFile::createNativeFile(QFile &file) file.open(QIODevice::ReadOnly); //dump data QTemporaryFile *ret = new QTemporaryFile; - ret->open(); - file.seek(0); - char buffer[1024]; - while(true) { - qint64 len = file.read(buffer, 1024); - if(len < 1) - break; - ret->write(buffer, len); + if (ret->open()) { + file.seek(0); + char buffer[1024]; + while (true) { + qint64 len = file.read(buffer, 1024); + if (len < 1) + break; + ret->write(buffer, len); + } + ret->seek(0); + } else { + delete ret; + ret = nullptr; } - ret->seek(0); //restore if(wasOpen) file.seek(old_off); |