Commit graph

7835 commits

Author SHA1 Message Date
Ivailo Monev
df060ed6f6 always read data without intermediate buffer from QIODevice::read()
the main user of QIODevice is QFile and it uses O_DSYNC/O_SYNC for
unbuffered I/O meaning the QIODevice buffer does not benefit it because the
filesystem cache already does that

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 21:34:16 +02:00
Ivailo Monev
3d6aa1b726 correct function name passed to macro in QIODevice::ungetChar()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 23:39:33 +02:00
Ivailo Monev
af3cc17128 use qt_safe_read() instead of calling the virtual QFile::readData() in QFile::readLineData()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 19:24:50 +02:00
Ivailo Monev
12198d2ebb drop support for mapping QFile via mmap()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 19:13:33 +02:00
Ivailo Monev
4ca87ec20c do only basic ELF checks from qt_unix_query()
QLibraryPrivate::loadPlugin() resolves the symbol, it is not assumed to be
present in the plugin which means a basic ELF check is more than enough
(the important thing is to _not_ load .debug files as those may cause a
crash)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 19:11:15 +02:00
Ivailo Monev
57f3e74d1d correct the buffer size in qRandomUuid() function
the initial implementation was not passing the buffer size to the
QByteArray constructor so the additional bit was for qstrlen()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 09:39:49 +02:00
Ivailo Monev
65ed00fe3d do not remove the file from the EXDEV error codepath in QFileSystemEngine::renameFile()
QFileSystemEngine::renameFile() is supposed to fail if the file exists

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 07:34:54 +02:00
Ivailo Monev
6abeaffdee deep-copy the charset name in QTextCodec::codecForText()
it is documented to remain valid as long as UCharsetMatch is

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 05:36:48 +02:00
Ivailo Monev
1dc88a35cd fix QDir::absoluteFilePath() regression
somewhere in the abstraction engine it was returned clean

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 04:14:37 +02:00
Ivailo Monev
2e38b6c2d7 do not use QTextCodec::codecForLocale() for converting QString to decoded locale-encoded string
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 00:24:06 +02:00
Ivailo Monev
f5d8e81c79 inline toLocal8Bit_helper() function and use it in QString::toLocal8Bit()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 00:12:59 +02:00
Ivailo Monev
67d9e14434 set localecodec variable from QTextCodecPrivate::localeCodec()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 00:12:26 +02:00
Ivailo Monev
05b8abbe52 keep reference to the native filepath in QFile::resize()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-01 01:59:55 +02:00
Ivailo Monev
350667cf94 do not use QTextCodec::codecForLocale() for converting QString to locale-encoded string
if QString::toLocal8Bit() is called from global static destructor it may
be too late to cache a QTextCodec, in fact it may cause a crash.
QTextCodec::codecForLocale() also has to lock a global mutex

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 21:48:55 +02:00
Ivailo Monev
8a7becdf29 QDataStream documentation update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 21:12:58 +02:00
Ivailo Monev
9ed237217b compiler warnings fix
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 19:55:55 +02:00
Ivailo Monev
917e923111 QFile review
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 22:45:32 +02:00
Ivailo Monev
8ddb0f0985 merge QAbstractFileEngine into QFile
the behaviour of QTemporaryFile changes slightly, e.g. downcast to QFile
and open() with flags does not work like before - if you down-cast
better be sure you want to call the down-casted method (it is like a
C-style cast)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 11:23:39 +02:00
Ivailo Monev
618fb1bd06 QT_NO_SIGNALMAPPER config option is no longer broken
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 08:17:29 +02:00
Ivailo Monev
9222708c38 remove unused QContiguousCache class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 08:07:22 +02:00
Ivailo Monev
737752f597 remove unused and ambiguous QDataStream operators
QByteArray has implicit char* operator which could result in code that is
sub-optimal

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 07:30:05 +02:00
Ivailo Monev
655f45c943 workaround rename() and renameat2() limitation from QFileSystemEngine::renameFile()
already done in kdelibs mostly for temporary files, for reference:
4ff227e336

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 02:35:57 +02:00
Ivailo Monev
ea8c0aa792 remove tst_QMainWindow compat test case
test was failing because of the previous commit but 4.1, 4.2 and 4.3 are
very old releases anyway

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 02:25:15 +02:00
Ivailo Monev
bec8e7280c use QDataStream::HostEndian as byte order by default for QDataStream and do not byte-swap QString data when streaming it
both are breaking changes, any data stored via QDataStream will not load
now by default unless the byte order is explicitly set to big endian

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 02:02:49 +02:00
Ivailo Monev
ed93b0562e set the byte order to big endian when testing with big endian data in QDataStream test cases
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 03:42:08 +02:00
Ivailo Monev
8a7d49c5d6 set the byte order to big endian when testing with big endian data in QDataStream test cases
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-31 02:53:34 +02:00
Ivailo Monev
e096f539fe use the QDataStream byteorder member for swap check
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 22:30:09 +02:00
Ivailo Monev
e3b199f8b7 the test data in tst_QVariant::loadUnknownUserType() is big endian
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 21:29:20 +02:00
Ivailo Monev
a2f550ff36 set the byte order of the QDataStream objects used for KAT images reading/writing to big endian
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 19:07:16 +02:00
Ivailo Monev
42a45fd293 implement specialized QAbstractFileEngine methods to fix enums overlapping
some QFileSystemMetaData enums overlap with QFile::Permissions still but
that is on purpose

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 07:27:16 +02:00
Ivailo Monev
647c50ce1a build fix for the case when QT_NO_CALENDARWIDGET or QT_NO_DATETIMEEDIT is defined
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 03:04:43 +02:00
Ivailo Monev
55ebe14a3f QT_NO_IMAGEFORMAT_XPM config option is no longer broken
Katie does not use images in that format

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 03:33:51 +03:00
Ivailo Monev
791cf40759 Merge branch 'master' of https://scm.osdn.net/gitroot/kde/Katie 2022-10-30 03:20:43 +03:00
Ivailo Monev
03a6481de8 QFileInfo no longer requires abstraction
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 02:51:53 +03:00
Ivailo Monev
a528953b7e FreeBSD package footprint update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 02:15:21 +03:00
Ivailo Monev
5dfd777ffa remove redundant QAbstractSocket::readLineData() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 02:13:20 +03:00
Ivailo Monev
c86d67daf7 remove unused variable in QDirIteratorPrivate::pushDirect()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 01:20:56 +03:00
Ivailo Monev
af3b57ca76 require type/file arguments for QAbstractFileEngine methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 01:01:11 +03:00
Ivailo Monev
9a93948dd1 remove unused QAbstractFileEngine::entryList() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 03:48:42 +03:00
Ivailo Monev
0b2dfd3f69 remove unused QAbstractFileEngine methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 03:44:03 +03:00
Ivailo Monev
fabde51fe3 QDir no longer requires abstraction
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 03:27:43 +03:00
Ivailo Monev
2101197a49 remove TODO in QFileSystemModelPrivate::node()
QAbstractFileEngine::caseSensitive() was removed

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 03:14:11 +03:00
Ivailo Monev
a47f6326d0 remove now unused QDirIteratorPrivate member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-29 23:49:14 +03:00
Ivailo Monev
36eec68361 use only native filesystem iterator in QDirIterator
now that QAbstractFileEngine is becoming internal there is no point in
using the abstraction class

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-29 23:34:17 +03:00
Ivailo Monev
17716d34ce uninline QAbstractFileEnginePrivate constructor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 01:40:13 +03:00
Ivailo Monev
5efbbb1dd5 QAbstractFileEngine and QAbstractFileEngineIterator documentation update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-30 01:33:43 +03:00
Ivailo Monev
f23acad20e merge QFSFileEngine into QAbstractFileEngine
that finally happened

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-29 21:42:58 +03:00
Ivailo Monev
d7f76da3b1 remove unused MyEngine class in QFile test
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-29 21:09:08 +03:00
Ivailo Monev
5095872672 remove unused EngineWithNoIterator class in QDirIterator test
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-10-29 21:07:10 +03:00
Ivailo Monev
613642a667 Merge branch 'master' of https://scm.osdn.net/gitroot/kde/Katie 2022-10-29 19:27:07 +03:00