Commit graph

6950 commits

Author SHA1 Message Date
Ivailo Monev
2adc61c593 verify that image format is not auto-generated garbage in QImageData::create()
fixes crash in case of:
QImage image = image.scaled(1, 1);

for which no QImage constructor is called and image has random bits as data
pointer

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-14 04:33:02 +02:00
Ivailo Monev
f627ac3bd4 fallback to view-refresh icon for QStyle::SP_BrowserReload in QCommonStyle::standardPixmap()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-10 23:57:44 +02:00
Ivailo Monev
7e6a5d055b de-couple the global socket handlers mutex from the list
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-09 18:06:17 +02:00
Ivailo Monev
66208e48ba increase qfcvt() and qecvt() buffer size
fixes buffer overflow in some cases

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-06 23:59:35 +02:00
Ivailo Monev
9b2c48af3b remove unused QPaintEngineEx methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-06 23:14:52 +02:00
Ivailo Monev
216862d358 compiler warning fixes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-06 12:56:02 +02:00
Ivailo Monev
a1155214df remove now unused unicode utility
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-06 12:19:17 +02:00
Ivailo Monev
9ceeb515cd update translations [ci skip]
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-06 12:18:21 +02:00
Ivailo Monev
5f46848a24 remove unused virtual QRasterPaintEngine methods
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-06 12:11:01 +02:00
Ivailo Monev
128a0fa30a remove redundant QRasterPaintEngine::drawEllipse() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-06 11:37:21 +02:00
Ivailo Monev
cb8434c3a7 remove unused QX11PaintEnginePrivate::has_complex_xform member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-06 11:19:28 +02:00
Ivailo Monev
37293b79e3 draw images as pixmaps from QX11PaintEngine
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-06 11:16:04 +02:00
Ivailo Monev
ddd44c1029 pick the first icon theme that is not hicolor as system icon theme
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-06 04:00:59 +02:00
Ivailo Monev
c076842a7a replacement colors are always RGBA now and images are in format with alpha channel
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-06 00:43:44 +02:00
Ivailo Monev
6d6e22a31b remove bits for always false condition in QPixmap::scroll()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-05 23:50:46 +02:00
Ivailo Monev
e381d90654 always detach QPixmap when filling it with color
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-05 23:43:07 +02:00
Ivailo Monev
7a50d771fc reserve space for bounds in QPainterPath::toFillPolygons()
upstream commit:
d432d17f83

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-05 23:21:22 +02:00
Ivailo Monev
363b2e01d7 README update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-05 23:11:18 +02:00
Ivailo Monev
047e4c2610 bundle libdeflate to make it optional
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-05 23:08:55 +02:00
Ivailo Monev
3bd1313a36 drop support for painting widgets outside paint events [ci reset]
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-05 22:07:51 +02:00
Ivailo Monev
36d3978855 use foreach() for iteration in QX11PaintEnginePrivate::fillPath()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-05 22:06:56 +02:00
Ivailo Monev
89802b00fd do not convert X11 pixmap to default depth
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-05 21:39:16 +02:00
Ivailo Monev
58e0e858e0 ignore return value of FcPatternGetBool()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-05 21:21:45 +02:00
Ivailo Monev
1d25e877f1 typo
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-05 21:20:58 +02:00
Ivailo Monev
a04eb850f5 replace qt_inflateGZipDataFrom() with its body
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-05 13:45:44 +02:00
Ivailo Monev
eac0e1de9a remove unused QPolygonF object in QX11PaintEngine::drawPath()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-05 13:38:14 +02:00
Ivailo Monev
743b3ddfd7 remove indexed image format API, QImage::setPixel() no longer accepts index as pixel value
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-05 10:46:03 +02:00
Ivailo Monev
3645ad9367 use the same condition as QImage constructor and assignment operator to check if copy should be returned in QRasterPixmapData::toImage()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-05 08:34:58 +02:00
Ivailo Monev
40a12b7f69 QPixmap created from XPM data is initialized with QPixmapData::PixmapType as type
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-05 07:51:24 +02:00
Ivailo Monev
83f7dc0e33 remove redundant QPixmap::convertFromImage() [ci reset]
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-05 07:42:15 +02:00
Ivailo Monev
909cc3c5cb correct warning message in qCompress() and mark it as unlikely
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-05 05:35:47 +02:00
Ivailo Monev
0ee5d77fc6 plug memory leak in case compression boundary is negative or zero in qCompress() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-05 05:30:36 +02:00
Ivailo Monev
ac68d768e6 do not link network and svg components to deflate libraries
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-05 05:24:48 +02:00
Ivailo Monev
cec95847e6 reimplement qCompress() and qUncompress() via libdeflate
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-05 05:16:01 +02:00
Ivailo Monev
f365a2d30e QPixmap and QImage documentation update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-04 23:19:25 +02:00
Ivailo Monev
2172afdc85 QPainterPath::ensureData_helper() is called only when the private data pointer is null
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-03 05:34:42 +02:00
Ivailo Monev
7a57217e9d oops, add QSvgRenderer header to the FreeBSD package footprint
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-02 19:15:11 +02:00
Ivailo Monev
bb1d544157 do not chunk source in qt_inflateGZipDataFrom() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-02 17:09:25 +02:00
Ivailo Monev
11695cf6dd QImage class documentation update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-02 06:48:13 +02:00
Ivailo Monev
65a6e87920 prefix use of QImage::Format enums in qimage source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-02 06:41:25 +02:00
Ivailo Monev
ea2b912673 QSvgRenderer micro-optimizations
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-02 06:26:00 +02:00
Ivailo Monev
62f54dd8e6 use proper types for XPM RGB colors table and color map in XPM handler
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-02 05:59:18 +02:00
Ivailo Monev
7c28e342ea remove indexed image format leftovers
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-02 04:47:47 +02:00
Ivailo Monev
408a45b0ad benchmark conversion of all image formats except invalid
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-02 04:33:19 +02:00
Ivailo Monev
d5b4617418 generate image in more generic way in tst_QImageConversion::generateImage()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-02 04:18:23 +02:00
Ivailo Monev
f74bdda700 adjust QPainter benchmark to indexed image format removal
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-02 04:07:17 +02:00
Ivailo Monev
51db8eff89 warn when image could not be created from createImageNode() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-02 03:53:30 +02:00
Ivailo Monev
6b6632facd transform X11 pixmaps as images
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-02 00:10:18 +02:00
Ivailo Monev
615e38bbf6 optimize reading of compressed SVG images
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-01 23:20:04 +02:00
Ivailo Monev
f3b973b69b remove redundant QSvgHandler constructor, warn on failure to load SVG from content or reader
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-02-01 23:04:28 +02:00