OSDN Git Service

kde/Katie.git
21 months agolock before accessing the custom meta types global static in QMetaType::type()
Ivailo Monev [Wed, 16 Nov 2022 20:17:47 +0000 (22:17 +0200)]
lock before accessing the custom meta types global static in QMetaType::type()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoRevert "always allocate QGlyphLayout data on the heap"
Ivailo Monev [Wed, 16 Nov 2022 19:27:57 +0000 (21:27 +0200)]
Revert "always allocate QGlyphLayout data on the heap"

will have to wait until the QTextEngine redo

This reverts commit 4a5239046adeb78397c868074fe48d595fcb8fa4.

21 months agoalways allocate QGlyphLayout data on the heap
Ivailo Monev [Wed, 16 Nov 2022 17:15:45 +0000 (19:15 +0200)]
always allocate QGlyphLayout data on the heap

much easier to calculate the glyph array data size and also no
possibility for stack corruption

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoadd thread-safety test for QFontDatabase
Ivailo Monev [Wed, 16 Nov 2022 14:01:25 +0000 (16:01 +0200)]
add thread-safety test for QFontDatabase

it basically tests fontconfig thread-safety but QFontDatabase is documented
as thread-safe (as it should be) so why not add test case for it

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoQFontDatabase test review
Ivailo Monev [Wed, 16 Nov 2022 13:35:45 +0000 (15:35 +0200)]
QFontDatabase test review

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agodo not assume FcObjectSetCreate(), FcPatternCreate() and FcFontList() return non...
Ivailo Monev [Wed, 16 Nov 2022 13:29:57 +0000 (15:29 +0200)]
do not assume FcObjectSetCreate(), FcPatternCreate() and FcFontList() return non-null pointers in QFontDatabase constructor

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoreplace hardcoded QFont::Unstretched value with the enum
Ivailo Monev [Wed, 16 Nov 2022 13:26:25 +0000 (15:26 +0200)]
replace hardcoded QFont::Unstretched value with the enum

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoassume the codec MIB is in the table in QTextCodec::mibEnum() and add test for it
Ivailo Monev [Wed, 16 Nov 2022 03:05:56 +0000 (05:05 +0200)]
assume the codec MIB is in the table in QTextCodec::mibEnum() and add test for it

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoremove unused headers inclusions in qfont source file
Ivailo Monev [Tue, 15 Nov 2022 18:17:42 +0000 (20:17 +0200)]
remove unused headers inclusions in qfont source file

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agouse the QPixmap::scaled() method in QMoviePrivate::next()
Ivailo Monev [Tue, 15 Nov 2022 18:08:42 +0000 (20:08 +0200)]
use the QPixmap::scaled() method in QMoviePrivate::next()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agouse QVector for the QMetaMethod list in qInvokeTestMethods() function
Ivailo Monev [Tue, 15 Nov 2022 17:34:24 +0000 (19:34 +0200)]
use QVector for the QMetaMethod list in qInvokeTestMethods() function

operator new may throw if the method count is zero, a test case should have
atleast one method tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agomove QTextConverter::ConversionFlag documentation bellow QTextConverter documentation
Ivailo Monev [Tue, 15 Nov 2022 17:12:08 +0000 (19:12 +0200)]
move QTextConverter::ConversionFlag documentation bellow QTextConverter documentation

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agomove constructor and destructor to the top in qfontdatabase source file
Ivailo Monev [Tue, 15 Nov 2022 15:59:57 +0000 (17:59 +0200)]
move constructor and destructor to the top in qfontdatabase source file

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoread PNG rows directly into QImage allocated memory
Ivailo Monev [Tue, 15 Nov 2022 15:48:09 +0000 (17:48 +0200)]
read PNG rows directly into QImage allocated memory

KAT format is still faster, benchmark result:
********* Start testing of tst_QImageReader *********
Config: Using QTest library 4.12.0, Katie 4.12.0
PASS  : tst_QImageReader::initTestCase()
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.kat":
     449,473.586 CPU ticks per iteration (total: 224,736,793, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.kat":
     12,192,500.92 CPU ticks per iteration (total: 6,096,250,460, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.kat":
     4,553,239.292 CPU ticks per iteration (total: 2,276,619,646, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.png":
     1,847,145.64 CPU ticks per iteration (total: 923,572,823, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.png":
     19,422,744.28 CPU ticks per iteration (total: 9,711,372,141, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.png":
     12,389,194.51 CPU ticks per iteration (total: 6,194,597,257, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.ppm":
     653,286.280 CPU ticks per iteration (total: 326,643,140, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.ppm":
     2,728,198.060 CPU ticks per iteration (total: 1,364,099,030, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.ppm":
     2,455,954.036 CPU ticks per iteration (total: 1,227,977,018, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.svg":
     10,524,974.96 CPU ticks per iteration (total: 5,262,487,482, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.xpm":
     8,238,501.942 CPU ticks per iteration (total: 4,119,250,971, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.xpm":
     74,886,112.602 CPU ticks per iteration (total: 37,443,056,301, iterations: 500)
RESULT   : tst_QImageReader::readImage():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.xpm":
     63,337,570.664 CPU ticks per iteration (total: 31,668,785,332, iterations: 500)
PASS  : tst_QImageReader::readImage()
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.kat":
     1,950,330.16 CPU ticks per iteration (total: 975,165,082, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.kat":
     13,089,959.61 CPU ticks per iteration (total: 6,544,979,808, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.kat":
     5,447,284.922 CPU ticks per iteration (total: 2,723,642,461, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.png":
     3,342,337.962 CPU ticks per iteration (total: 1,671,168,981, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.png":
     20,326,863.998 CPU ticks per iteration (total: 10,163,431,999, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.png":
     13,279,201.09 CPU ticks per iteration (total: 6,639,600,546, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.ppm":
     1,498,119.28 CPU ticks per iteration (total: 749,059,644, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.ppm":
     3,641,910.638 CPU ticks per iteration (total: 1,820,955,319, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.ppm":
     3,370,265.894 CPU ticks per iteration (total: 1,685,132,947, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.svg":
     9,147,455.174 CPU ticks per iteration (total: 4,573,727,587, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench.xpm":
     9,729,368.638 CPU ticks per iteration (total: 4,864,684,319, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-large.xpm":
     75,966,954.086 CPU ticks per iteration (total: 37,983,477,043, iterations: 500)
RESULT   : tst_QImageReader::setScaledSize():"/home/smil3y/katie/tests/benchmarks/gui/image/qimagereader//images/bench-transparent.xpm":
     64,719,740.840 CPU ticks per iteration (total: 32,359,870,420, iterations: 500)
PASS  : tst_QImageReader::setScaledSize()
PASS  : tst_QImageReader::cleanupTestCase()
Totals: 4 passed, 0 failed, 0 skipped
********* Finished testing of tst_QImageReader *********

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agocache system fonts on per QFontDatabase object basis
Ivailo Monev [Tue, 15 Nov 2022 14:11:43 +0000 (16:11 +0200)]
cache system fonts on per QFontDatabase object basis

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agodrop support for registering custom QVariantAnimation interpolators
Ivailo Monev [Mon, 14 Nov 2022 22:50:06 +0000 (00:50 +0200)]
drop support for registering custom QVariantAnimation interpolators

even the declarative component inherit and use internal animation classes
methods for interpolation, if anything there should be more interpolators
(e.g. for QVariant::LongLong and QVariant::ULongLong)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoqconfig header update
Ivailo Monev [Mon, 14 Nov 2022 21:26:22 +0000 (23:26 +0200)]
qconfig header update

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoremove unused QErrorMessage class
Ivailo Monev [Mon, 14 Nov 2022 21:22:19 +0000 (23:22 +0200)]
remove unused QErrorMessage class

Katana uses KMessageBox or system notifcations for such things

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agodo not store the hinting flags in QFontEngineFT
Ivailo Monev [Mon, 14 Nov 2022 19:08:39 +0000 (21:08 +0200)]
do not store the hinting flags in QFontEngineFT

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agotranslations update
Ivailo Monev [Mon, 14 Nov 2022 18:38:47 +0000 (20:38 +0200)]
translations update

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoupdate URL TLDs table data
Ivailo Monev [Mon, 14 Nov 2022 18:38:04 +0000 (20:38 +0200)]
update URL TLDs table data

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoMerge branch 'master' of https://scm.osdn.net/gitroot/kde/Katie
Ivailo Monev [Mon, 14 Nov 2022 18:36:12 +0000 (20:36 +0200)]
Merge branch 'master' of https://scm.osdn.net/gitroot/kde/Katie

21 months agoprepare genlocale.py script for CLDR v42
Ivailo Monev [Mon, 14 Nov 2022 18:35:44 +0000 (20:35 +0200)]
prepare genlocale.py script for CLDR v42

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoFreeBSD package footprint file update
Ivailo Monev [Mon, 14 Nov 2022 17:03:15 +0000 (19:03 +0200)]
FreeBSD package footprint file update

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoadd QChar enum for unicode v15.0
Ivailo Monev [Mon, 14 Nov 2022 16:24:04 +0000 (18:24 +0200)]
add QChar enum for unicode v15.0

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoupdate unicode data tables to v15.0
Ivailo Monev [Mon, 14 Nov 2022 16:21:40 +0000 (18:21 +0200)]
update unicode data tables to v15.0

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoinclude system locale header for setlocale() and LC_CTYPE in qkeymapper_x11 source...
Ivailo Monev [Mon, 14 Nov 2022 15:58:00 +0000 (17:58 +0200)]
include system locale header for setlocale() and LC_CTYPE in qkeymapper_x11 source file

fixes build on FreeBSD

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoremove unused qsettings header inclusion in qcommonstyle source file
Ivailo Monev [Mon, 14 Nov 2022 15:18:09 +0000 (17:18 +0200)]
remove unused qsettings header inclusion in qcommonstyle source file

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoremove redundant Q_EXPORT_PLUGIN2() macro
Ivailo Monev [Mon, 14 Nov 2022 13:47:25 +0000 (15:47 +0200)]
remove redundant Q_EXPORT_PLUGIN2() macro

its PLUGIN argument is unused

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoREADME update
Ivailo Monev [Mon, 14 Nov 2022 13:37:03 +0000 (15:37 +0200)]
README update

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoremove now unused plugin verification section and data
Ivailo Monev [Mon, 14 Nov 2022 13:36:36 +0000 (15:36 +0200)]
remove now unused plugin verification section and data

it should've been added even if QT_NO_PLUGIN_CHECK was defined btw, now
only ELF header is checked tho

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoremove redundant handle check in QLibrary::unload()
Ivailo Monev [Mon, 14 Nov 2022 13:25:55 +0000 (15:25 +0200)]
remove redundant handle check in QLibrary::unload()

QLibraryPrivate::unload() does the same check

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agocompiler warnings fix
Ivailo Monev [Mon, 14 Nov 2022 13:16:59 +0000 (15:16 +0200)]
compiler warnings fix

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoremove redundant QSettings forward-declaration in qlibrary_p header
Ivailo Monev [Mon, 14 Nov 2022 13:16:50 +0000 (15:16 +0200)]
remove redundant QSettings forward-declaration in qlibrary_p header

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoreplace internal loadDocument<T>() function with its body
Ivailo Monev [Mon, 14 Nov 2022 12:43:19 +0000 (14:43 +0200)]
replace internal loadDocument<T>() function with its body

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoQIconLoader doesn't need QObject as base class
Ivailo Monev [Mon, 14 Nov 2022 12:37:58 +0000 (14:37 +0200)]
QIconLoader doesn't need QObject as base class

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoMerge branch 'master' of https://scm.osdn.net/gitroot/kde/Katie
Ivailo Monev [Mon, 14 Nov 2022 12:29:05 +0000 (14:29 +0200)]
Merge branch 'master' of https://scm.osdn.net/gitroot/kde/Katie

21 months agoreplace QCursorData::setBitmap() with its body
Ivailo Monev [Mon, 14 Nov 2022 12:28:50 +0000 (14:28 +0200)]
replace QCursorData::setBitmap() with its body

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoremove resource system leftovers in QPixmapIconEngine::addFile()
Ivailo Monev [Mon, 14 Nov 2022 03:53:41 +0000 (05:53 +0200)]
remove resource system leftovers in QPixmapIconEngine::addFile()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agouse the stored pixmap mask in QCursor::handle()
Ivailo Monev [Mon, 14 Nov 2022 00:41:39 +0000 (02:41 +0200)]
use the stored pixmap mask in QCursor::handle()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoQCursor rewrite
Ivailo Monev [Mon, 14 Nov 2022 00:33:31 +0000 (02:33 +0200)]
QCursor rewrite

X may or may not copy the pixmaps so handles have to be kept until cursor
data destruction

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoensure the QVariant type is QVariant::String in ini_settings_read() for compat
Ivailo Monev [Sun, 13 Nov 2022 23:08:36 +0000 (01:08 +0200)]
ensure the QVariant type is QVariant::String in ini_settings_read() for compat

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agodo not register QColor, QVector2D, QVector3D and QVector2D interpolators as external
Ivailo Monev [Sun, 13 Nov 2022 20:46:53 +0000 (22:46 +0200)]
do not register QColor, QVector2D, QVector3D and QVector2D interpolators as external

now the interpolators global mutex will be held 4 times less when the
GUI component library is loaded and 4 more times when it is unloaded

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agodocument internal QFontDatabase methods as such
Ivailo Monev [Sun, 13 Nov 2022 20:45:37 +0000 (22:45 +0200)]
document internal QFontDatabase methods as such

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agomark qt_FcPatternToQFontDef() function as static
Ivailo Monev [Sun, 13 Nov 2022 20:12:08 +0000 (22:12 +0200)]
mark qt_FcPatternToQFontDef() function as static

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoMerge branch 'master' of https://scm.osdn.net/gitroot/kde/Katie
Ivailo Monev [Sun, 13 Nov 2022 20:08:44 +0000 (22:08 +0200)]
Merge branch 'master' of https://scm.osdn.net/gitroot/kde/Katie

21 months agoinitialize values in QFont streaming operator
Ivailo Monev [Sun, 13 Nov 2022 20:52:32 +0000 (22:52 +0200)]
initialize values in QFont streaming operator

if they are not read from the QDataStream (e.g. premature end of data or
corrupt data) they will end up being zero tho because that is what
QDataStream sets them to on failure, perhaps it should not

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoQFontDatabase::families() optimization
Ivailo Monev [Sun, 13 Nov 2022 20:41:53 +0000 (22:41 +0200)]
QFontDatabase::families() optimization

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoremove QApplication::fontDatabaseChanged() signal
Ivailo Monev [Sun, 13 Nov 2022 20:08:26 +0000 (22:08 +0200)]
remove QApplication::fontDatabaseChanged() signal

it indicates that QFontDatabase has cached the fonts, not that system font
was added or removed which QFontDatabase should have signal for no
QCoreApplication/QApplication

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoQJsonDocument optimization
Ivailo Monev [Sun, 13 Nov 2022 18:14:34 +0000 (20:14 +0200)]
QJsonDocument optimization

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agodrop support for storing types that are not QString-convertable via QSettings
Ivailo Monev [Sun, 13 Nov 2022 17:27:13 +0000 (19:27 +0200)]
drop support for storing types that are not QString-convertable via QSettings

I am not interested in custom types feature at all - QMainWindow for
example saves its state via QDataStream. ofcourse it involves conversion
but that is the case with QVariant aswell. there is also the qreal type
thing - it may be float, it may double. streaming QRectF has to be done
in such a way to account for both cases but here is the catch - if
conversion fails there has to be fallback which QSettings::value() kinda
covers for types that are not composed of several more types.

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoQDebug documentation update
Ivailo Monev [Sun, 13 Nov 2022 16:49:13 +0000 (18:49 +0200)]
QDebug documentation update

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoQDebug rewrite to use QByteArray as internal buffer
Ivailo Monev [Sun, 13 Nov 2022 13:39:19 +0000 (15:39 +0200)]
QDebug rewrite to use QByteArray as internal buffer

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoQDeclarativeInfo rewrite to not use QDebug
Ivailo Monev [Sun, 13 Nov 2022 12:47:47 +0000 (14:47 +0200)]
QDeclarativeInfo rewrite to not use QDebug

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agolog the error string, not the QDeclarativeError pointer in QDeclarativeScriptActionPr...
Ivailo Monev [Sun, 13 Nov 2022 12:44:26 +0000 (14:44 +0200)]
log the error string, not the QDeclarativeError pointer in QDeclarativeScriptActionPrivate::execute()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agorevert f92053f38142c9b4a589f5623e3055958d145a01
Ivailo Monev [Sat, 12 Nov 2022 13:50:44 +0000 (15:50 +0200)]
revert f92053f38142c9b4a589f5623e3055958d145a01

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoMerge branch 'master' of https://scm.osdn.net/gitroot/kde/Katie
Ivailo Monev [Sat, 12 Nov 2022 13:43:29 +0000 (15:43 +0200)]
Merge branch 'master' of https://scm.osdn.net/gitroot/kde/Katie

21 months agoremove unused AVG16() macro
Ivailo Monev [Sat, 12 Nov 2022 11:18:03 +0000 (13:18 +0200)]
remove unused AVG16() macro

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agonamefsck script update
Ivailo Monev [Sat, 12 Nov 2022 03:37:25 +0000 (05:37 +0200)]
namefsck script update

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agodrop compile-time options to disable debug and warning output
Ivailo Monev [Sat, 12 Nov 2022 01:11:56 +0000 (03:11 +0200)]
drop compile-time options to disable debug and warning output

such type of messages can still be filtered by installing message handler

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoQImage documentation update
Ivailo Monev [Fri, 11 Nov 2022 20:58:03 +0000 (22:58 +0200)]
QImage documentation update

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agouse growing buffer (QDataBuffer) in blending functions
Ivailo Monev [Fri, 11 Nov 2022 18:49:22 +0000 (20:49 +0200)]
use growing buffer (QDataBuffer) in blending functions

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agomove variables to the scope they are used in QGradientData::generateGradientColorTable()
Ivailo Monev [Fri, 11 Nov 2022 17:38:57 +0000 (19:38 +0200)]
move variables to the scope they are used in QGradientData::generateGradientColorTable()

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoQImage::Format_RGB16 to XImage copying optimization
Ivailo Monev [Fri, 11 Nov 2022 17:06:16 +0000 (19:06 +0200)]
QImage::Format_RGB16 to XImage copying optimization

it is a bit tricky to figure out the compatible cases but the zero-copy
optimizations pay off

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agocreate print preview images with the page rectangle size and fill them with white...
Ivailo Monev [Fri, 11 Nov 2022 03:26:01 +0000 (05:26 +0200)]
create print preview images with the page rectangle size and fill them with white color

fixes possible rendering issues (e.g. random colors at the edges)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agocreate dummy device as fallbak from QPdfPrinter
Ivailo Monev [Fri, 11 Nov 2022 03:18:07 +0000 (05:18 +0200)]
create dummy device as fallbak from QPdfPrinter

fixes possible crash

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agobuild fix for the case when QT_NO_CUPS is defined
Ivailo Monev [Fri, 11 Nov 2022 03:14:43 +0000 (05:14 +0200)]
build fix for the case when QT_NO_CUPS is defined

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoremove unused QPSPrintEnginePrivate member
Ivailo Monev [Fri, 11 Nov 2022 00:43:09 +0000 (02:43 +0200)]
remove unused QPSPrintEnginePrivate member

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agodrop unused epsf feature of QPSPrintEngine
Ivailo Monev [Fri, 11 Nov 2022 00:41:39 +0000 (02:41 +0200)]
drop unused epsf feature of QPSPrintEngine

note that it is hidden behind backdoor function

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoremove now unused QPolygonClipper class
Ivailo Monev [Fri, 11 Nov 2022 00:29:42 +0000 (02:29 +0200)]
remove now unused QPolygonClipper class

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoassume fetch and store operators are valid in drawing functions
Ivailo Monev [Thu, 10 Nov 2022 23:09:16 +0000 (01:09 +0200)]
assume fetch and store operators are valid in drawing functions

any attempt to paint on QImage (and in turn QPixmap) the format of which is
QImage::Format_Invalid (with no private data pointer) will fail due to
paint engine check in QPainter::begin(), in addition the operators should
be (and currently are) implemented for all QImage formats

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agobenchmark painting on and of mono image formats
Ivailo Monev [Thu, 10 Nov 2022 23:05:18 +0000 (01:05 +0200)]
benchmark painting on and of mono image formats

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agocompiler warnings fixes
Ivailo Monev [Thu, 10 Nov 2022 23:04:43 +0000 (01:04 +0200)]
compiler warnings fixes

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoremove now unused constants
Ivailo Monev [Thu, 10 Nov 2022 22:17:24 +0000 (00:17 +0200)]
remove now unused constants

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agofix copying of QImage to XImage when the QImage format is QImage::Format_RGB16
Ivailo Monev [Thu, 10 Nov 2022 21:35:06 +0000 (23:35 +0200)]
fix copying of QImage to XImage when the QImage format is QImage::Format_RGB16

even transparency is a thing on 16-bit depth X display but it is very slow

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoreplace QPixmapData::createCompatiblePixmapData() with its body
Ivailo Monev [Thu, 10 Nov 2022 20:10:52 +0000 (22:10 +0200)]
replace QPixmapData::createCompatiblePixmapData() with its body

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoremove now unused QPixmapData::resize() method
Ivailo Monev [Thu, 10 Nov 2022 20:08:26 +0000 (22:08 +0200)]
remove now unused QPixmapData::resize() method

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoallocate the ARGB visuals and colormaps only if XRender is to be used
Ivailo Monev [Thu, 10 Nov 2022 19:54:32 +0000 (21:54 +0200)]
allocate the ARGB visuals and colormaps only if XRender is to be used

they are null-checked in qt_cleanup() and used only when qt_x11Data->use_xrender
equals true

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoensure the image is not constructed with zero width or height in QX11PaintEngine...
Ivailo Monev [Thu, 10 Nov 2022 18:50:05 +0000 (20:50 +0200)]
ensure the image is not constructed with zero width or height in QX11PaintEngine::drawPath()

must be rounding to zero somewhere

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoremove check for non-existing internal property
Ivailo Monev [Thu, 10 Nov 2022 17:29:38 +0000 (19:29 +0200)]
remove check for non-existing internal property

it was used by the designer tool to override the DPI

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoconvert QPixmapData::create() method to specialized constructor
Ivailo Monev [Thu, 10 Nov 2022 16:14:06 +0000 (18:14 +0200)]
convert QPixmapData::create() method to specialized constructor

now QPixmap::load() and QPixmap::loadFromData() will be slightly faster

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agopass the pixel type to makeBitmapCompliantIfNeeded() function
Ivailo Monev [Thu, 10 Nov 2022 16:00:31 +0000 (18:00 +0200)]
pass the pixel type to makeBitmapCompliantIfNeeded() function

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoremove redundant QPixmapData members
Ivailo Monev [Thu, 10 Nov 2022 15:50:36 +0000 (17:50 +0200)]
remove redundant QPixmapData members

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoreplace qt_mask_image() function with its body
Ivailo Monev [Thu, 10 Nov 2022 15:40:17 +0000 (17:40 +0200)]
replace qt_mask_image() function with its body

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoremove unused lowest_bit() function
Ivailo Monev [Thu, 10 Nov 2022 15:23:46 +0000 (17:23 +0200)]
remove unused lowest_bit() function

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoimplement the missing QImage converter functions
Ivailo Monev [Thu, 10 Nov 2022 14:37:14 +0000 (16:37 +0200)]
implement the missing QImage converter functions

that includes QImage::Format_ARGB32_Premultiplied to QImage::Format_RGB16,
QImage::Format_RGB16 to QImage::Format_Mono and QImage::Format_MonoLSB

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoinline QWidgetBackingStore::surface() method
Ivailo Monev [Thu, 10 Nov 2022 04:14:28 +0000 (06:14 +0200)]
inline QWidgetBackingStore::surface() method

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoremove noop QWidgetBackingStore::updateList()
Ivailo Monev [Thu, 10 Nov 2022 04:08:18 +0000 (06:08 +0200)]
remove noop QWidgetBackingStore::updateList()

does nothing since Qt::WA_StaticContents was dropped

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoQETWidget and QWindowSurface do not have to be friends with QWidgetBackingStore
Ivailo Monev [Thu, 10 Nov 2022 04:00:32 +0000 (06:00 +0200)]
QETWidget and QWindowSurface do not have to be friends with QWidgetBackingStore

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoremove unused QWidgetBackingStore::topLevelOffset() method
Ivailo Monev [Thu, 10 Nov 2022 04:00:05 +0000 (06:00 +0200)]
remove unused QWidgetBackingStore::topLevelOffset() method

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoX server running at 24-bit depth is alpha capable
Ivailo Monev [Thu, 10 Nov 2022 02:17:28 +0000 (04:17 +0200)]
X server running at 24-bit depth is alpha capable

now the optimization from the previous commit applies to the backing store
in more cases

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoQImage::Format_ARGB32_Premultiplied to XImage copying optimization
Ivailo Monev [Thu, 10 Nov 2022 01:27:36 +0000 (03:27 +0200)]
QImage::Format_ARGB32_Premultiplied to XImage copying optimization

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoQWindowSurface::beginPaint() optimization
Ivailo Monev [Thu, 10 Nov 2022 01:29:01 +0000 (03:29 +0200)]
QWindowSurface::beginPaint() optimization

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agooops, fix build
Ivailo Monev [Thu, 10 Nov 2022 00:38:09 +0000 (02:38 +0200)]
oops, fix build

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoadd note when QPixmap::toX11Pixmap() was introduced
Ivailo Monev [Wed, 9 Nov 2022 21:28:05 +0000 (23:28 +0200)]
add note when QPixmap::toX11Pixmap() was introduced

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoQPixmap::grabWindow() optimization
Ivailo Monev [Wed, 9 Nov 2022 21:24:37 +0000 (23:24 +0200)]
QPixmap::grabWindow() optimization

TODO: replace WId with Qt::HANDLE or vice-versa, eventually

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agomerge QRasterPixmapData into QPixmapData
Ivailo Monev [Wed, 9 Nov 2022 21:06:30 +0000 (23:06 +0200)]
merge QRasterPixmapData into QPixmapData

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoremove now unused XRender fills cache
Ivailo Monev [Wed, 9 Nov 2022 20:21:43 +0000 (22:21 +0200)]
remove now unused XRender fills cache

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoQPixmap documentation update
Ivailo Monev [Wed, 9 Nov 2022 22:18:47 +0000 (00:18 +0200)]
QPixmap documentation update

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
21 months agoQPixmap no longer requires GUI application or to be constructed in the application...
Ivailo Monev [Wed, 9 Nov 2022 22:08:54 +0000 (00:08 +0200)]
QPixmap no longer requires GUI application or to be constructed in the application thread

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