| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When closing a file, the contents of the write buffer should be emptied
even in the case where flush fails, so it doesn't leak to subsequent
files opened through the same instance. This is inline with what would
happen with native close on a buffered device.
Also changed the resource file engine to succeed on flush. Since all
writes fail there, logically it's write buffer is empty and flush should
succeed. This keeps auto-tests happy :-)
tst_QFile::fullDisk auto-test extended to ensure re-opening QFile does
not keep the write buffer alive.
Reviewed-by: Thiago Macieira
|
|
|
|
|
|
|
|
|
| |
My patch from yesterday did not have any effect: Instead of
really using what was in the buffer, it used it but then read
it from the underlying device anyway.
Thanks Ritt Konstantin and Joao.
Reviewed-by: joao
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
| |
.. and more testcases
Reviewed-by: joao
|
|
|
|
|
|
|
|
| |
Some test very corrected, the low level file descriptor tests mostly
skipped as well as the multiple memory mapping of a file, which resulted
in the file handle not beeign properly released.
Reviewed-by: thartman
|
|
|
|
|
|
|
|
|
| |
The open() syscall can open directories for reading, which we
in QFile and file engines don't support. However, there is no need
for stat() to find out if it is a directory if we open() with a write
flag because then the syscall will fail anyway.
Reviewed-by: joao
|
|\
| |
| |
| |
| | |
Conflicts:
configure.exe
|
| |
| |
| |
| | |
RevBy: TrustMe
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Chunk size increased to QIODEVICE_BUFFERSIZE (currently 16k) where
chunking is still needed. Namely, on sequential devices and when
QByteArray is unable to allocate a large enough buffer. This is
necessary for backward compatibility
Improved validation and prevention of overflow in maxSize argument.
Updated autotest that relied on a null QByteArray when no data was
available and no errors were found. The only guarantee we should be
providing in this case is an empty result -- even though that behavior
is preserved for the time being.
Affected functions:
* QIODevice::read(qint64 maxSize)
Chunking will still happen for large maxSize (i.e., QByteArray
resize fails), where it could be used as a synonym for
QIODevice::readAll().
No stat'ing performed. Read from device continues for as long as it
is successful. Stops if an error occurs or if we get less data than
requested.
* QIODevice::readAll()
Chunking is performed for sequential devices where total size
wouldn't be known beforehand. For sequential devices, reading
continues as long as data is returned, even if less than requested.
Non-sequential devices will be stat'ed once. If QIODevice::size
returns 0, this is taken to mean unknown size and chunking is
performed.
Otherwise, a single read request is made for the specified size. On
failure to resize QByteArray, nothing is returned.
* QIODevice::readLine(qint64 maxSize)
Chunking is performed for maxSize == 0, or if we can't allocate a
large enough buffer.
No stat'ing performed at this level. Read from device continues
until EOL is found, as long as we get all requested data.
Task-number: QT-2347
Reviewed-by: Thiago Macieira
Reviewed-by: Miikka Heikkinen
|
| |
| |
| |
| | |
... by catching failure to launch separate process earlier.
|
|/
|
|
|
|
|
|
|
|
|
| |
When writing nothing to a file, not actually writing anything is not an
error.
Also, from a change introduced in the same commit, there is no point in
checking for EOF when writing.
Task-number: QTBUG-5847
Reviewed-by: Olivier Goffart
|
|\ |
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
configure.exe
src/corelib/io/qfsfileengine.cpp
tests/auto/qfile/tst_qfile.cpp
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
To test not only native, but fd and FILE* backends as well. Moved
expensive generation of large block into a separate function that caches
the result.
Reviewed-by: Peter Hartmann
|
| | |
| | |
| | |
| | | |
Reviewed-by: thartman
|
|/ /
| |
| |
| |
| |
| | |
Changed the signature of QT_OPEN to be the same on all platforms.
Reviewed-by: thartman
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Saw a couple of sporadic failures on Windows platforms. Debug output
should help find what's happening.
Once the fillFileSparsely test fails, there's no point in trying to read
what we failed to write so maximum tested size is reset on a failed
write.
Reviewed-by: Markus Goetz
|
| |
| |
| |
| |
| | |
... so we test the file engine directly and detect file-system errors
earlier.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Not when linking dynamically to the CRT (/MT). So we can't rely on them.
The declarations for those are also not on the standard headers.
Reverts "(MSVC 2002/2003) Use 64-bit versions of ftell and fseek", fixes
return type of QT_FTELL and skips known failures on large-file test
case.
|
| |
| |
| |
| |
| |
| |
| | |
Also changed tested type from int to qint64, so we'll be able to see
clipping issues, although there are no large files in this test, yet.
Reviewed-by: Markus Goetz
|
| |
| |
| |
| |
| |
| | |
The test assumed fileName was stable, but it is documented behaviour
that this can be reset when a file descriptor or FILE* stream is
associated with a QFile. This was the case on Windows.
|
| |
| |
| |
| | |
Reviewed-by: Markus Goetz
|
| |
| |
| |
| |
| |
| |
| |
| | |
The test case creates a (tentatively sparse) very large file with
scattered data and uses it to test various aspects of large file support
in QFile.
Reviewed-by: Thiago Macieira
|
|/
|
|
|
|
|
|
|
|
|
| |
This was already being done when attaching to FILE* streams. Doing the
same here makes the API consistent and more usable. Namely, one can use
QFile::pos() to obtain the file position.
Test case verifies this doesn't break support for sequential files. More
thorough test case included in large file support test.
Reviewed-by: Thiago Macieira
|
|
|
|
| |
Reviewed-by: thartman
|
|
|
|
| |
Reviewed-by: Trust Me
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
demos/boxes/glshaders.cpp
demos/boxes/vector.h
demos/embedded/fluidlauncher/pictureflow.cpp
demos/embedded/fluidlauncher/pictureflow.h
doc/src/desktop-integration.qdoc
doc/src/distributingqt.qdoc
doc/src/examples-overview.qdoc
doc/src/examples.qdoc
doc/src/frameworks-technologies/dbus-adaptors.qdoc
doc/src/geometry.qdoc
doc/src/groups.qdoc
doc/src/objecttrees.qdoc
doc/src/platform-notes.qdoc
doc/src/plugins-howto.qdoc
doc/src/qt3support.qdoc
doc/src/qtdbus.qdoc
doc/src/qtdesigner.qdoc
doc/src/qtgui.qdoc
doc/src/qtmain.qdoc
doc/src/qtopengl.qdoc
doc/src/qtsvg.qdoc
doc/src/qtuiloader.qdoc
doc/src/qundo.qdoc
doc/src/richtext.qdoc
doc/src/topics.qdoc
src/corelib/tools/qdumper.cpp
src/gui/embedded/qkbdpc101_qws.cpp
src/gui/embedded/qkbdsl5000_qws.cpp
src/gui/embedded/qkbdusb_qws.cpp
src/gui/embedded/qkbdvr41xx_qws.cpp
src/gui/embedded/qkbdyopy_qws.cpp
src/gui/embedded/qmousebus_qws.cpp
src/gui/embedded/qmousevr41xx_qws.cpp
src/gui/embedded/qmouseyopy_qws.cpp
src/gui/painting/qpaintengine_d3d.cpp
src/gui/painting/qwindowsurface_d3d.cpp
src/opengl/gl2paintengineex/glgc_shader_source.h
src/opengl/gl2paintengineex/qglpexshadermanager.cpp
src/opengl/gl2paintengineex/qglpexshadermanager_p.h
src/opengl/gl2paintengineex/qglshader.cpp
src/opengl/gl2paintengineex/qglshader_p.h
src/opengl/util/fragmentprograms_p.h
src/plugins/kbddrivers/linuxis/linuxiskbdhandler.cpp
src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp
src/script/parser/qscript.g
src/script/qscriptarray_p.h
src/script/qscriptasm_p.h
src/script/qscriptbuffer_p.h
src/script/qscriptclass.cpp
src/script/qscriptclassdata_p.h
src/script/qscriptcompiler.cpp
src/script/qscriptcompiler_p.h
src/script/qscriptcontext.cpp
src/script/qscriptcontext_p.cpp
src/script/qscriptcontext_p.h
src/script/qscriptcontextfwd_p.h
src/script/qscriptecmaarray.cpp
src/script/qscriptecmaarray_p.h
src/script/qscriptecmaboolean.cpp
src/script/qscriptecmacore.cpp
src/script/qscriptecmadate.cpp
src/script/qscriptecmadate_p.h
src/script/qscriptecmaerror.cpp
src/script/qscriptecmaerror_p.h
src/script/qscriptecmafunction.cpp
src/script/qscriptecmafunction_p.h
src/script/qscriptecmaglobal.cpp
src/script/qscriptecmaglobal_p.h
src/script/qscriptecmamath.cpp
src/script/qscriptecmamath_p.h
src/script/qscriptecmanumber.cpp
src/script/qscriptecmanumber_p.h
src/script/qscriptecmaobject.cpp
src/script/qscriptecmaobject_p.h
src/script/qscriptecmaregexp.cpp
src/script/qscriptecmaregexp_p.h
src/script/qscriptecmastring.cpp
src/script/qscriptecmastring_p.h
src/script/qscriptengine.cpp
src/script/qscriptengine_p.cpp
src/script/qscriptengine_p.h
src/script/qscriptenginefwd_p.h
src/script/qscriptextenumeration.cpp
src/script/qscriptextenumeration_p.h
src/script/qscriptextqobject.cpp
src/script/qscriptextqobject_p.h
src/script/qscriptextvariant.cpp
src/script/qscriptfunction.cpp
src/script/qscriptfunction_p.h
src/script/qscriptgc_p.h
src/script/qscriptmember_p.h
src/script/qscriptobject_p.h
src/script/qscriptprettypretty.cpp
src/script/qscriptprettypretty_p.h
src/script/qscriptvalue.cpp
src/script/qscriptvalueimpl.cpp
src/script/qscriptvalueimpl_p.h
src/script/qscriptvalueimplfwd_p.h
src/script/qscriptvalueiteratorimpl.cpp
src/script/qscriptxmlgenerator.cpp
src/script/qscriptxmlgenerator_p.h
tests/auto/linguist/lupdate/testdata/recursivescan/project.ui
tests/auto/linguist/lupdate/testdata/recursivescan/sub/finddialog.cpp
tests/auto/qkeyevent/tst_qkeyevent.cpp
tools/linguist/shared/cpp.cpp
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
examples/opengl/samplebuffers/glwidget.cpp
src/corelib/io/qfsfileengine_unix.cpp
src/corelib/kernel/qobject.cpp
src/corelib/tools/qsharedpointer.cpp
src/gui/gui.pro
tests/auto/qhttp/tst_qhttp.cpp
tests/auto/qkeyevent/tst_qkeyevent.cpp
|
| | |
| | |
| | |
| | | |
Reviewed-by: Trust Me
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/corelib/kernel/qobject.cpp
src/corelib/tools/qsharedpointer_impl.h
src/gui/widgets/qdatetimeedit.cpp
src/gui/widgets/qlinecontrol.cpp
src/gui/widgets/qlineedit.cpp
tests/auto/qcssparser/qcssparser.pro
tests/auto/qicoimageformat/tst_qicoimageformat.cpp
tests/auto/qmultiscreen/qmultiscreen.pro
tests/auto/qresourceengine/qresourceengine.pro
tests/auto/qresourceengine/tst_qresourceengine.cpp
tests/auto/qscriptv8testsuite/tst_qscriptv8testsuite.cpp
|
| | |
| | |
| | |
| | |
| | |
| | | |
We cannot remove a file that's still opened.
Reviewed-by: ossi
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
configure.exe
qmake/Makefile.unix
qmake/generators/makefile.cpp
src/corelib/global/qglobal.h
src/corelib/kernel/kernel.pri
src/corelib/kernel/qcoreevent.cpp
src/corelib/kernel/qsharedmemory_unix.cpp
src/gui/graphicsview/qgraphicsscene.cpp
src/gui/kernel/qaction.cpp
src/gui/kernel/qaction.h
src/gui/kernel/qaction_p.h
src/gui/kernel/qapplication.cpp
src/gui/kernel/qapplication.h
src/gui/kernel/qwidget.cpp
src/gui/kernel/qwidget.h
src/gui/kernel/qwidget_mac.mm
src/gui/painting/qgraphicssystemfactory.cpp
src/gui/styles/qwindowsstyle.cpp
src/gui/text/qfontengine_qpf.cpp
src/gui/widgets/qabstractscrollarea_p.h
src/network/access/qnetworkaccessdebugpipebackend.cpp
src/network/socket/qlocalsocket_unix.cpp
src/network/socket/qnativesocketengine_p.h
src/network/socket/qnativesocketengine_unix.cpp
src/openvg/qpaintengine_vg.cpp
tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp
tests/auto/qcssparser/qcssparser.pro
tests/auto/qdir/tst_qdir.cpp
tests/auto/qfile/tst_qfile.cpp
tests/auto/qobject/tst_qobject.cpp
tests/auto/qpathclipper/qpathclipper.pro
tests/auto/qprocess/tst_qprocess.cpp
tests/auto/qsettings/tst_qsettings.cpp
tests/auto/qsharedpointer/qsharedpointer.pro
tests/auto/qsqlquerymodel/qsqlquerymodel.pro
tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro
tests/auto/qsqltablemodel/qsqltablemodel.pro
tests/auto/qsqlthread/qsqlthread.pro
tests/auto/qwidget/tst_qwidget.cpp
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Merge-request: 604
Reviewed-by: Marius Storm-Olsen <marius@trolltech.com>
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/corelib/kernel/qcoreevent.cpp
src/corelib/tools/qdumper.cpp
src/gui/kernel/qwidget.cpp
src/gui/kernel/qwidget_p.h
src/gui/kernel/qwidget_s60.cpp
src/gui/text/qfontdatabase.cpp
src/network/access/qnetworkreplyimpl.cpp
src/sql/drivers/ibase/qsql_ibase.cpp
src/testlib/qtestcase.cpp
src/testlib/testlib.pro
tests/auto/network-settings.h
tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp
tests/auto/qobjectrace/tst_qobjectrace.cpp
tests/auto/qsqldatabase/tst_qsqldatabase.cpp
tools/configure/configureapp.cpp
translations/qt_ru.ts
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This was originally fixed in 20c635c82d388, but was lost in the merge
e74c8dc65e2fe.
|
| | | | |
|
| |\ \ \
| | | |/
| | |/|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
.gitignore
src/gui/dialogs/qfiledialog_p.h
src/gui/painting/qpaintengine_raster.cpp
src/gui/text/qfontdatabase.cpp
tests/auto/network-settings.h
tests/auto/qitemdelegate/tst_qitemdelegate.cpp
|
|\ \ \ \
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
.gitignore
configure.exe
src/corelib/concurrent/qtconcurrentthreadengine.h
src/corelib/global/qnamespace.h
src/gui/graphicsview/qgraphicssceneevent.h
src/gui/kernel/qapplication.cpp
src/gui/kernel/qapplication.h
src/gui/kernel/qapplication_p.h
src/gui/kernel/qapplication_qws.cpp
src/gui/kernel/qwidget.h
src/gui/painting/qpaintengine_raster.cpp
src/gui/text/qfontdatabase.cpp
src/network/access/qnetworkaccesshttpbackend.cpp
tests/auto/network-settings.h
tests/auto/qscriptjstestsuite/qscriptjstestsuite.pro
tests/auto/qvariant/tst_qvariant.cpp
|
| |\ \ \
| | | |/
| | |/| |
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: Trust Me
|
|\ \ \ \
| |/ / /
| | | /
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Bring Qt 4.6 into the Qt-S60 repo.
Conflicts:
configure.exe
mkspecs/features/qttest_p4.prf
qmake/generators/makefile.cpp
src/corelib/io/qdir.cpp
src/corelib/io/qprocess.h
src/corelib/kernel/qcoreevent.h
src/corelib/kernel/qobject.cpp
src/corelib/kernel/qsharedmemory_unix.cpp
src/corelib/thread/qthread_p.h
src/corelib/tools/qvector.h
src/gui/dialogs/qdialog.cpp
src/gui/dialogs/qfiledialog.cpp
src/gui/dialogs/qfiledialog_p.h
src/gui/dialogs/qmessagebox.cpp
src/gui/graphicsview/qgraphicsitem.cpp
src/gui/graphicsview/qgraphicsview.cpp
src/gui/image/qpixmapcache.cpp
src/gui/kernel/qapplication.cpp
src/gui/kernel/qapplication_p.h
src/gui/kernel/qwidget.cpp
src/gui/kernel/qwidget_p.h
src/gui/painting/qdrawhelper.cpp
src/gui/painting/qpaintengine_raster.cpp
src/gui/text/qfontengine_qpf.cpp
src/gui/widgets/qmenubar.cpp
src/network/socket/qlocalserver.cpp
src/testlib/qtestcase.cpp
src/testlib/testlib.pro
tests/auto/qimagereader/tst_qimagereader.cpp
tests/auto/qitemdelegate/tst_qitemdelegate.cpp
tests/auto/qnetworkreply/tst_qnetworkreply.cpp
tests/auto/qpixmap/qpixmap.pro
|
| |\ \
| | |/
| | |
| | |
| | | |
Conflicts:
src/corelib/kernel/qsharedmemory_unix.cpp
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
These functions were checking the error state after calling close(),
without first resetting the error state. Turns out close() only resets
the error state if isOpen() returns false.
Also, the fallback for the copy operation opens the file for reading
but wasn't closing it again afterwards. Now fixed.
Added autotests to cover these situations.
Reviewed-by: MariusSO
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/corelib/io/qfile.cpp
src/corelib/kernel/qsharedmemory_unix.cpp
src/network/socket/qnativesocketengine_p.h
src/network/socket/qnativesocketengine_unix.cpp
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When copying a resource file to the native file system the (read-only)
permissions also get copied. On Windows platforms, this was preventing a
test file from being deleted.
Reviewed-by: Peter Hartmann
Reviewed-by: Thiago
|
| |/
| |
| |
| |
| |
| |
| | |
Also added check in test case for rename fallback.
Task-number: 165920
Reviewed-by: Thiago
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Configure.exe recompiled with MSVC6.
Conflicts:
configure.exe
examples/network/network.pro
src/gui/dialogs/qfiledialog_p.h
src/gui/dialogs/qfilesystemmodel_p.h
src/gui/kernel/qapplication.cpp
tests/auto/_Categories/qmake.txt
tests/auto/qfile/test/test.pro
tests/auto/qfile/tst_qfile.cpp
tests/auto/qlibrary/tst_qlibrary.cpp
tests/auto/qline/tst_qline.cpp
tests/auto/qstyle/tst_qstyle.cpp
tests/auto/qtextstream/tst_qtextstream.cpp
tests/auto/qtranslator/qtranslator.pro
tests/auto/qwaitcondition/tst_qwaitcondition.cpp
translations/qt_ja_JP.ts
|