OSDN Git Service

kde/Katie.git
11 months agoimplement size option for QPngHandler spng
Ivailo Monev [Wed, 24 May 2023 03:13:20 +0000 (06:13 +0300)]
implement size option for QPngHandler

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
11 months agofree libspng context if QImage creation fails
Ivailo Monev [Wed, 24 May 2023 02:46:31 +0000 (05:46 +0300)]
free libspng context if QImage creation fails

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
11 months agomerge master and adjust
Ivailo Monev [Wed, 24 May 2023 02:43:08 +0000 (05:43 +0300)]
merge master and adjust

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
11 months agodrop auxiliary QImage data
Ivailo Monev [Wed, 24 May 2023 02:05:46 +0000 (05:05 +0300)]
drop auxiliary QImage data

no reason to store it when it is calculated from the DPI

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
11 months agoMerge branch 'master' of https://scm.osdn.net/gitroot/kde/Katie into spng
Ivailo Monev [Wed, 24 May 2023 00:56:20 +0000 (03:56 +0300)]
Merge branch 'master' of https://scm.osdn.net/gitroot/kde/Katie into spng

11 months agoQImage::rgbSwapped() optimization
Ivailo Monev [Wed, 24 May 2023 00:56:03 +0000 (03:56 +0300)]
QImage::rgbSwapped() optimization

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
11 months agowarn if QImage is null in QPngHandler::read()
Ivailo Monev [Wed, 24 May 2023 00:44:06 +0000 (03:44 +0300)]
warn if QImage is null in QPngHandler::read()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
11 months agodo not assume pHYs chunk is available in QPngHandler
Ivailo Monev [Tue, 23 May 2023 20:15:04 +0000 (23:15 +0300)]
do not assume pHYs chunk is available in QPngHandler

read benchmark results:
********* Start testing of tst_QImageReader *********
Config: Using QTest library 4.13.0, Katie 4.13.0
PASS  : tst_QImageReader::initTestCase()
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.kat":
     0.460 msecs per iteration (total: 230, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.kat":
     12.35 msecs per iteration (total: 6,177, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.kat":
     4.630 msecs per iteration (total: 2,315, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.png":
     1.69 msecs per iteration (total: 845, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.png":
     21.014 msecs per iteration (total: 10,507, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.png":
     11.17 msecs per iteration (total: 5,585, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.ppm":
     0.756 msecs per iteration (total: 378, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.ppm":
     2.958 msecs per iteration (total: 1,479, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.ppm":
     2.664 msecs per iteration (total: 1,332, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.svg":
     10.77 msecs per iteration (total: 5,385, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.xpm":
     8.344 msecs per iteration (total: 4,172, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.xpm":
     76.738 msecs per iteration (total: 38,369, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.xpm":
     65.280 msecs per iteration (total: 32,640, iterations: 500)
PASS  : tst_QImageReader::readImage()
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.kat":
     1.98 msecs per iteration (total: 990, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.kat":
     13.31 msecs per iteration (total: 6,657, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.kat":
     5.590 msecs per iteration (total: 2,795, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.png":
     3.218 msecs per iteration (total: 1,609, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.png":
     23.224 msecs per iteration (total: 11,612, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.png":
     12.72 msecs per iteration (total: 6,362, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.ppm":
     1.64 msecs per iteration (total: 822, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.ppm":
     3.898 msecs per iteration (total: 1,949, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.ppm":
     3.630 msecs per iteration (total: 1,815, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.svg":
     9.304 msecs per iteration (total: 4,652, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.xpm":
     9.858 msecs per iteration (total: 4,929, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.xpm":
     77.880 msecs per iteration (total: 38,940, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.xpm":
     66.030 msecs per iteration (total: 33,015, iterations: 500)
PASS  : tst_QImageReader::setScaledSize()
PASS  : tst_QImageReader::cleanupTestCase()
Totals: 4 passed, 0 failed, 0 skipped
********* Finished testing of tst_QImageReader *********

write benchmark results:
********* Start testing of tst_QImageWriter *********
Config: Using QTest library 4.13.0, Katie 4.13.0
PASS  : tst_QImageWriter::initTestCase()
RESULT   : tst_QImageWriter::writeImage():"kat":
     2.450 msecs per iteration (total: 1,225, iterations: 500)
RESULT   : tst_QImageWriter::writeImage():"png":
     16.28 msecs per iteration (total: 8,142, iterations: 500)
RESULT   : tst_QImageWriter::writeImage():"ppm":
     7.176 msecs per iteration (total: 3,588, iterations: 500)
PASS  : tst_QImageWriter::writeImage()
PASS  : tst_QImageWriter::cleanupTestCase()
Totals: 3 passed, 0 failed, 0 skipped
********* Finished testing of tst_QImageWriter *********

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
11 months agohandle pHYs chunk in QPngHandler
Ivailo Monev [Tue, 23 May 2023 20:04:46 +0000 (23:04 +0300)]
handle pHYs chunk in QPngHandler

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
11 months agoQPngHandler rewrite to use libspng
Ivailo Monev [Tue, 23 May 2023 19:02:26 +0000 (22:02 +0300)]
QPngHandler rewrite to use libspng

no benchmarks done yet

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
11 months agofix random buffer filling in qRandomUuid() function
Ivailo Monev [Mon, 22 May 2023 16:29:06 +0000 (19:29 +0300)]
fix random buffer filling in qRandomUuid() function

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
11 months agoprefix the QML state debug config option
Ivailo Monev [Mon, 22 May 2023 00:50:02 +0000 (03:50 +0300)]
prefix the QML state debug config option

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
11 months agouse the QOpacityEffect::cancel() method in qFadeEffect() function
Ivailo Monev [Sat, 20 May 2023 18:00:49 +0000 (21:00 +0300)]
use the QOpacityEffect::cancel() method in qFadeEffect() function

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
11 months agoFreeBSD footprint file update
Ivailo Monev [Fri, 19 May 2023 23:45:47 +0000 (02:45 +0300)]
FreeBSD footprint file update

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
11 months agouse https://scm.osdn.net/gitroot/kde/Katie.git to clone the Katie source for the...
Ivailo Monev [Fri, 19 May 2023 23:24:43 +0000 (02:24 +0300)]
use https://scm.osdn.net/gitroot/kde/Katie.git to clone the Katie source for the FreeBSD package

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
11 months agoQSettings setup optimization
Ivailo Monev [Fri, 19 May 2023 21:06:31 +0000 (00:06 +0300)]
QSettings setup optimization

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
11 months agoupdate bundled libdeflate to v1.18
Ivailo Monev [Fri, 19 May 2023 06:18:54 +0000 (09:18 +0300)]
update bundled libdeflate to v1.18

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
11 months agoupdate URL TLDs table data
Ivailo Monev [Fri, 19 May 2023 05:04:36 +0000 (08:04 +0300)]
update URL TLDs table data

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
11 months agodrop now unused scripttools component
Ivailo Monev [Fri, 19 May 2023 02:07:37 +0000 (05:07 +0300)]
drop now unused scripttools component

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
11 months agocorrect indentation in rotated270() function
Ivailo Monev [Thu, 18 May 2023 23:22:23 +0000 (02:22 +0300)]
correct indentation in rotated270() function

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
11 months agoQEasingCurve copy constructor optimization
Ivailo Monev [Thu, 18 May 2023 23:22:05 +0000 (02:22 +0300)]
QEasingCurve copy constructor optimization

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
11 months agoremove redundant bits in qRandomUuid() function
Ivailo Monev [Thu, 18 May 2023 22:18:04 +0000 (01:18 +0300)]
remove redundant bits in qRandomUuid() function

at first I was thinking about making it compliant with the RFC but then I
figured none of the use-cases require it to be compliant (e.g.
partitionmanager and the tools that use the generated UUID)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
11 months agodrop support for changing QDataStream precision
Ivailo Monev [Thu, 18 May 2023 22:16:15 +0000 (01:16 +0300)]
drop support for changing QDataStream precision

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
15 months agomark some QThreadPool branches as unlikely
Ivailo Monev [Sat, 14 Jan 2023 03:42:31 +0000 (05:42 +0200)]
mark some QThreadPool branches as unlikely

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
15 months agomark QThreadPoolThread::run() as final
Ivailo Monev [Sat, 14 Jan 2023 03:39:50 +0000 (05:39 +0200)]
mark QThreadPoolThread::run() as final

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
15 months agoformat and indent qthreadpool source file
Ivailo Monev [Sat, 14 Jan 2023 03:39:11 +0000 (05:39 +0200)]
format and indent qthreadpool source file

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
15 months agoremove unused and internal QThreadPoolPrivate::stealRunnable() method
Ivailo Monev [Sat, 14 Jan 2023 03:24:07 +0000 (05:24 +0200)]
remove unused and internal QThreadPoolPrivate::stealRunnable() method

was used by QFutureInterface

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agosomeone's typo
Ivailo Monev [Mon, 2 Jan 2023 04:42:13 +0000 (06:42 +0200)]
someone's typo

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agosave errno before calling any other function in QLocalServerPrivate::setError()
Ivailo Monev [Sat, 31 Dec 2022 06:49:17 +0000 (08:49 +0200)]
save errno before calling any other function in QLocalServerPrivate::setError()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agoremove unused QTcpServerPrivate members
Ivailo Monev [Wed, 28 Dec 2022 06:44:50 +0000 (08:44 +0200)]
remove unused QTcpServerPrivate members

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agoremove unused socket exception notification
Ivailo Monev [Tue, 27 Dec 2022 19:41:19 +0000 (21:41 +0200)]
remove unused socket exception notification

doubles as performance optimization for sockets (QTcpServer and QUdpSocket)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agoimplement default QStatInfo constructor and use it as optimization in QFileSystemWatc...
Ivailo Monev [Tue, 27 Dec 2022 00:43:11 +0000 (02:43 +0200)]
implement default QStatInfo constructor and use it as optimization in QFileSystemWatcherPrivate::_q_timeout()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agodo not manually set the socket state and error of QTcpServer
Ivailo Monev [Sun, 25 Dec 2022 23:59:24 +0000 (01:59 +0200)]
do not manually set the socket state and error of QTcpServer

that means that once the socket engine is closed the error becomes unknown
tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agoremove redundant pointer check in QTcpServer::listen()
Ivailo Monev [Sun, 25 Dec 2022 23:12:39 +0000 (01:12 +0200)]
remove redundant pointer check in QTcpServer::listen()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agoremove the unused gamma option of QImageWriter
Ivailo Monev [Sat, 24 Dec 2022 14:52:34 +0000 (16:52 +0200)]
remove the unused gamma option of QImageWriter

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agoremove now unused katie_setup_object() macro
Ivailo Monev [Sat, 24 Dec 2022 12:17:46 +0000 (14:17 +0200)]
remove now unused katie_setup_object() macro

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agofix regression since 51f2253d73b140638853c97b1351c19ec7e8fa4f
Ivailo Monev [Fri, 23 Dec 2022 21:54:16 +0000 (23:54 +0200)]
fix regression since 51f2253d73b140638853c97b1351c19ec7e8fa4f

png_read_image() handles interlacing internally

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agoremove BSD workarounds
Ivailo Monev [Fri, 23 Dec 2022 19:14:40 +0000 (21:14 +0200)]
remove BSD workarounds

if the linker cannot find system libraries then it's not a Katie build
system problem

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agoupdate PROJECT_LOGO in doxygen.conf
Ivailo Monev [Wed, 21 Dec 2022 21:05:24 +0000 (23:05 +0200)]
update PROJECT_LOGO in doxygen.conf

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agostatic QFile methods optimizations
Ivailo Monev [Wed, 21 Dec 2022 20:48:20 +0000 (22:48 +0200)]
static QFile methods optimizations

the QFile::remove() and QFile::rename() methods are used a lot (e.g. to
remove or move temporary files) so the optimization will be noticable

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agoQFile documentation review
Ivailo Monev [Wed, 21 Dec 2022 20:20:20 +0000 (22:20 +0200)]
QFile documentation review

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agoQFileSystemIterator optimization
Ivailo Monev [Wed, 21 Dec 2022 18:32:08 +0000 (20:32 +0200)]
QFileSystemIterator optimization

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agomark the error case in qt_unix_query() as unlikely
Ivailo Monev [Wed, 21 Dec 2022 16:00:30 +0000 (18:00 +0200)]
mark the error case in qt_unix_query() as unlikely

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agoremove unused qmap header inclusion in qlibrary source file
Ivailo Monev [Wed, 21 Dec 2022 15:56:26 +0000 (17:56 +0200)]
remove unused qmap header inclusion in qlibrary source file

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agoqt_unix_query() function optimization
Ivailo Monev [Wed, 21 Dec 2022 15:53:25 +0000 (17:53 +0200)]
qt_unix_query() function optimization

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agokeep reference to QByteArray object in QLibraryPrivate::load_sys()
Ivailo Monev [Wed, 21 Dec 2022 15:43:21 +0000 (17:43 +0200)]
keep reference to QByteArray object in QLibraryPrivate::load_sys()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agoconst-ify QFactoryLoaderPrivate::suffix member
Ivailo Monev [Wed, 21 Dec 2022 15:40:14 +0000 (17:40 +0200)]
const-ify QFactoryLoaderPrivate::suffix member

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agomerge QFileSystemWatcherEngineUnix into QFileSystemWatcherPrivate
Ivailo Monev [Wed, 21 Dec 2022 14:05:49 +0000 (16:05 +0200)]
merge QFileSystemWatcherEngineUnix into QFileSystemWatcherPrivate

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agotrack watched files and directories only in QFileSystemWatcherEngineUnix
Ivailo Monev [Wed, 21 Dec 2022 13:14:10 +0000 (15:14 +0200)]
track watched files and directories only in QFileSystemWatcherEngineUnix

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agosimplify emision of QFileSystemWatcher signals
Ivailo Monev [Tue, 20 Dec 2022 18:49:17 +0000 (20:49 +0200)]
simplify emision of QFileSystemWatcher signals

the proxy signals are just redundant

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agoreuse QFontDatabase object in tst_QCssParser::extractFontFamily_data()
Ivailo Monev [Sun, 18 Dec 2022 17:57:27 +0000 (19:57 +0200)]
reuse QFontDatabase object in tst_QCssParser::extractFontFamily_data()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agomake Debian package depend on fonts-freefont-ttf
Ivailo Monev [Sun, 18 Dec 2022 17:56:54 +0000 (19:56 +0200)]
make Debian package depend on fonts-freefont-ttf

it is the last resort font

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agoupdate tables data to CLDR v42
Ivailo Monev [Sun, 18 Dec 2022 17:46:31 +0000 (19:46 +0200)]
update tables data to CLDR v42

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agoupdate URL TLDs table data
Ivailo Monev [Sun, 18 Dec 2022 16:49:01 +0000 (18:49 +0200)]
update URL TLDs table data

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agoremove redundant QFontInfo class
Ivailo Monev [Sat, 17 Dec 2022 12:40:02 +0000 (14:40 +0200)]
remove redundant QFontInfo class

QFontDatabase::font() does the same (i.e. resolves the font)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agodo not return boolean from QBitArray::fill()
Ivailo Monev [Tue, 13 Dec 2022 13:24:43 +0000 (15:24 +0200)]
do not return boolean from QBitArray::fill()

the return value is always true

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agodrop support for custom QEasingCurve type
Ivailo Monev [Mon, 12 Dec 2022 08:50:04 +0000 (10:50 +0200)]
drop support for custom QEasingCurve type

use one of the animation classes instead if such is required

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agosearch for programs in the standard executables locations in addition to PATH
Ivailo Monev [Sat, 10 Dec 2022 10:47:17 +0000 (12:47 +0200)]
search for programs in the standard executables locations in addition to PATH

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
16 months agolook for the program before exec-ing from QProcess
Ivailo Monev [Sat, 10 Dec 2022 10:43:05 +0000 (12:43 +0200)]
look for the program before exec-ing from QProcess

stat-ing multiple times is much more optimal than exec-ing multiple times,
bonus points for using QStandardPaths::findExecutable() to look for the
program (which should check for it in ~/.local/bin too)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agoversion bump
Ivailo Monev [Thu, 1 Dec 2022 19:27:11 +0000 (21:27 +0200)]
version bump

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agoremove redundant QTextControl::event() reimplementation 4.12.0
Ivailo Monev [Thu, 1 Dec 2022 16:27:21 +0000 (18:27 +0200)]
remove redundant QTextControl::event() reimplementation

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agouse correct QString constructor for expected data in tst_QJsonDocument::read()
Ivailo Monev [Tue, 29 Nov 2022 02:22:50 +0000 (04:22 +0200)]
use correct QString constructor for expected data in tst_QJsonDocument::read()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agoalways use QImage for QTextDocument resources
Ivailo Monev [Tue, 29 Nov 2022 01:53:25 +0000 (03:53 +0200)]
always use QImage for QTextDocument resources

now that QPixmap always uses QImage (internally) it's better to use QImage
directly

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agocheck the time even if the serial is the same in QKeyMapper::translateKeyEvent()
Ivailo Monev [Mon, 28 Nov 2022 18:37:28 +0000 (20:37 +0200)]
check the time even if the serial is the same in QKeyMapper::translateKeyEvent()

apparently X11 sends key events with same serial even seconds after (if the
key is the same), also now only key presses will be considered
auto-repeated because X11 sends (fake/simulated) key release events

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agomove the static variable outside the conditional code in QKeyMapper::translateKeyEvent()
Ivailo Monev [Mon, 28 Nov 2022 08:43:02 +0000 (10:43 +0200)]
move the static variable outside the conditional code in QKeyMapper::translateKeyEvent()

fun fact: it is very easy to break auto-repeat code by reparenting QWidget
from a QPushButton event (KMediaWidget does it)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agocorrect memcmp() return value checks in QTextConverter::toUnicode()
Ivailo Monev [Sun, 27 Nov 2022 00:51:24 +0000 (02:51 +0200)]
correct memcmp() return value checks in QTextConverter::toUnicode()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agoreturn if ubrk_safeClone() fails in QTextBoundaryFinder assignment operator
Ivailo Monev [Sat, 26 Nov 2022 09:14:25 +0000 (11:14 +0200)]
return if ubrk_safeClone() fails in QTextBoundaryFinder assignment operator

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agocall ubrk_following() and ubrk_preceding() with the current QTextBoundaryFinder position
Ivailo Monev [Sat, 26 Nov 2022 09:03:16 +0000 (11:03 +0200)]
call ubrk_following() and ubrk_preceding() with the current QTextBoundaryFinder position

I remember ubrk_following() and ubrk_preceding() causing a crash if the
position is not within the text bounds so leaving the -1 checks just in
case

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agocheck for self-assignment in QTextBoundaryFinder assignment operator
Ivailo Monev [Sat, 26 Nov 2022 06:34:03 +0000 (08:34 +0200)]
check for self-assignment in QTextBoundaryFinder assignment operator

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agohandle strings as UTF-8 encoded from QJsonDocument
Ivailo Monev [Sat, 26 Nov 2022 04:44:56 +0000 (06:44 +0200)]
handle strings as UTF-8 encoded from QJsonDocument

the default QString codec is US-ASCII

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agochop BOMs from QTextConverter::toUnicode()
Ivailo Monev [Fri, 25 Nov 2022 15:20:43 +0000 (17:20 +0200)]
chop BOMs from QTextConverter::toUnicode()

fun fact: anything that is checking for BOMs is either not passing them
to QTextCodec/QTextConverter (e.g. Kate) when converting or was just using
QTextCodec::IgnoreHeader flag (QXmlStreamWriter used to)

okular xps generator now works btw (xml files in .xps files seem to be
UTF-16 encoded with BOM)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agoQPngHandler::write() optimization
Ivailo Monev [Fri, 25 Nov 2022 00:53:41 +0000 (02:53 +0200)]
QPngHandler::write() optimization

why allocate when it can be done without?

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agoinherit std::bitset<T> as private base class of QTimersSet
Ivailo Monev [Fri, 25 Nov 2022 00:05:45 +0000 (02:05 +0200)]
inherit std::bitset<T> as private base class of QTimersSet

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agocorrect indendations in qslider source file
Ivailo Monev [Fri, 25 Nov 2022 00:03:25 +0000 (02:03 +0200)]
correct indendations in qslider source file

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agoremove unused QSizeGripPrivate member
Ivailo Monev [Thu, 24 Nov 2022 23:46:31 +0000 (01:46 +0200)]
remove unused QSizeGripPrivate member

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agoremove unused definitions in qsizegrip source file
Ivailo Monev [Thu, 24 Nov 2022 23:43:50 +0000 (01:43 +0200)]
remove unused definitions in qsizegrip source file

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agocorrect break scope in QDockWidget::event()
Ivailo Monev [Thu, 24 Nov 2022 23:40:20 +0000 (01:40 +0200)]
correct break scope in QDockWidget::event()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agoQApplication and QWidgetAnimator friendship has been broken
Ivailo Monev [Thu, 24 Nov 2022 23:34:00 +0000 (01:34 +0200)]
QApplication and QWidgetAnimator friendship has been broken

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agopartial build fix for the case when QT_NO_COLORDIALOG is defined
Ivailo Monev [Thu, 24 Nov 2022 23:17:28 +0000 (01:17 +0200)]
partial build fix for the case when QT_NO_COLORDIALOG is defined

qtconfig tool requires QColorDialog, that's why it is broken

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agoQT_NO_FILEDIALOG config option is no longer broken
Ivailo Monev [Thu, 24 Nov 2022 23:03:53 +0000 (01:03 +0200)]
QT_NO_FILEDIALOG config option is no longer broken

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agoQT_NO_FONTDIALOG config option is no longer broken
Ivailo Monev [Thu, 24 Nov 2022 22:48:36 +0000 (00:48 +0200)]
QT_NO_FONTDIALOG config option is no longer broken

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agocorrect indentation in QWindowsStyle::drawPrimitive()
Ivailo Monev [Thu, 24 Nov 2022 22:18:59 +0000 (00:18 +0200)]
correct indentation in QWindowsStyle::drawPrimitive()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agoremove redundant check in QEasingCurve::setType()
Ivailo Monev [Thu, 24 Nov 2022 21:56:00 +0000 (23:56 +0200)]
remove redundant check in QEasingCurve::setType()

since QEasingCurve instances are no longer shared and no detaching is done
the check that was optimization to avoid detaching is no longer worth it

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agocorrect repo directory name in crossdeb.sh script
Ivailo Monev [Thu, 24 Nov 2022 21:35:38 +0000 (23:35 +0200)]
correct repo directory name in crossdeb.sh script

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agoQFontDatabase review
Ivailo Monev [Thu, 24 Nov 2022 22:59:54 +0000 (00:59 +0200)]
QFontDatabase review

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agoQEasingCurve review
Ivailo Monev [Thu, 24 Nov 2022 22:38:49 +0000 (00:38 +0200)]
QEasingCurve review

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agomove the QEasingCurve::Custom case to the switch in QEasingCurve::valueForProgress()
Ivailo Monev [Thu, 24 Nov 2022 22:26:54 +0000 (00:26 +0200)]
move the QEasingCurve::Custom case to the switch in QEasingCurve::valueForProgress()

side note: only plasma and KWin set custom QEasingCurve function, both are
not used

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agotranslations update
Ivailo Monev [Thu, 24 Nov 2022 18:25:29 +0000 (20:25 +0200)]
translations update

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agoremove resource system leftovers
Ivailo Monev [Thu, 24 Nov 2022 18:03:50 +0000 (20:03 +0200)]
remove resource system leftovers

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agocorrect debug message in QTextStreamPrivate::flushWriteBuffer()
Ivailo Monev [Thu, 24 Nov 2022 17:48:32 +0000 (19:48 +0200)]
correct debug message in QTextStreamPrivate::flushWriteBuffer()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agowrite BOM only from QTextStream, on demand
Ivailo Monev [Thu, 24 Nov 2022 16:40:55 +0000 (18:40 +0200)]
write BOM only from QTextStream, on demand

ICU finally does not generate BOMs (since idk when), I guess someone took
note. chopping BOMs from the result may have to be done only if the input
data had BOM (for compat) but let's see if that is even needed

Kate encoding tests pass now btw

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agoconsistent QTextConverter::ConversionFlag enums
Ivailo Monev [Thu, 24 Nov 2022 02:02:25 +0000 (04:02 +0200)]
consistent QTextConverter::ConversionFlag enums

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agoremove most of the QTextStream manipulators and the ambiguous void pointer operator
Ivailo Monev [Wed, 23 Nov 2022 21:32:56 +0000 (23:32 +0200)]
remove most of the QTextStream manipulators and the ambiguous void pointer operator

most of them are unused since QTextStream is used mostly for streaming to
QFile, besides that the streaming of void pointer could result in streaming
in std::endl function pointer address or some other non-sense

I will not gut-out QTextStream yet (not in this release cycle) because I
know for a fact such change will break things that use the declarative
component (such as plasma and its applets due to nan/inf compat code in
QTextStream)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agotest QTextConverter::hasFailure() in QTextCodec test
Ivailo Monev [Wed, 23 Nov 2022 17:08:52 +0000 (19:08 +0200)]
test QTextConverter::hasFailure() in QTextCodec test

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agocall UCNV_FROM_U_CALLBACK_SUBSTITUTE() and UCNV_TO_U_CALLBACK_SUBSTITUTE() with NULL...
Ivailo Monev [Wed, 23 Nov 2022 17:01:45 +0000 (19:01 +0200)]
call UCNV_FROM_U_CALLBACK_SUBSTITUTE() and UCNV_TO_U_CALLBACK_SUBSTITUTE() with NULL as context

what a surprise it is to learn that both function replace characters only
in some cases (when context is NULL or some internally set context)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agosomeone's typo
Ivailo Monev [Wed, 23 Nov 2022 02:36:08 +0000 (04:36 +0200)]
someone's typo

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agocopy the other object position from QTextBoundaryFinder copy-constructor
Ivailo Monev [Wed, 23 Nov 2022 00:15:21 +0000 (02:15 +0200)]
copy the other object position from QTextBoundaryFinder copy-constructor

as done by the assignment operator

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agoQTextBoundaryFinder documentation review
Ivailo Monev [Wed, 23 Nov 2022 00:12:23 +0000 (02:12 +0200)]
QTextBoundaryFinder documentation review

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agoremove unused HB_MIN(), HB_MAX() and HB_FIXED_CONSTANT() macros defined in qharfbuz_p...
Ivailo Monev [Tue, 22 Nov 2022 23:44:55 +0000 (01:44 +0200)]
remove unused HB_MIN(), HB_MAX() and HB_FIXED_CONSTANT() macros defined in qharfbuz_p header

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
17 months agoQEasingCurve::valueForProgress() optimization
Ivailo Monev [Tue, 22 Nov 2022 23:12:29 +0000 (01:12 +0200)]
QEasingCurve::valueForProgress() optimization

doing qreal (either float or double) math on demand is much more optimal,
also reducing the switches to one is a bonus

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>