Package: qtdeclarative-opensource-src / 5.15.17+dfsg-4

Metadata

Package Version Patches format
qtdeclarative-opensource-src 5.15.17+dfsg-4 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
tst_qmldiskcache_big_endian.patch | (download)

tests/auto/qml/qmldiskcache/tst_qmldiskcache.cpp | 5 2 + 3 - 0 !
1 file changed, 2 insertions(+), 3 deletions(-)

 make tst_qmldiskcache::regenerateafterchange() pass on big endian systems
qquickitem_no_signals_on_destruction.patch | (download)

src/quick/items/qquickitem.cpp | 21 13 + 8 - 0 !
src/quick/items/qquickitem_p.h | 1 1 + 0 - 0 !
tests/auto/quick/qquickitem2/tst_qquickitem.cpp | 48 48 + 0 - 0 !
3 files changed, 62 insertions(+), 8 deletions(-)

 qquickitem: avoid emitting signals during destruction
 If a QQuickItem is in the QQuickItem destructor, then it is both unsafe
 and unnecessary to emit property change notifications. Connected code
 can no longer rely on the state of the emitting object - if it was
 originally a subclass of QQuickItem, then those subclass destructors
 will already have run. And the QQuickItem destructor will also have
 partially run, leaving the object in an undefined state.
 .
 Add a flag that we set to true at the top of ~QQuickItem, and don't emit
 visibleChildrenChanged, parentChanged, visibleChanged, and
 childrenChanged for items that are partially destroyed already.
 .
 [ChangeLog][Qt Quick][QQuickItem] QQuickItem no longer emits change
 notifications for the parent, children, visible, and visibleChildren
 properties while it is being destroyed.
fortify_qmlexecutedeferred.patch | (download)

src/qml/qml/qqmlengine.cpp | 22 14 + 8 - 0 !
1 file changed, 14 insertions(+), 8 deletions(-)

 qml: fortify qmlexecutedeferred some more
CVE 2025 12385.patch | (download)

src/quick/items/qquicktextdocument.cpp | 5 2 + 3 - 0 !
src/quick/util/qquickstyledtext.cpp | 19 17 + 2 - 0 !
2 files changed, 19 insertions(+), 5 deletions(-)

 increase robustness of <img> tag in text component
 For Text.StyledText, there was no protection against <img> tags
 with very large widths or heights. This could cause an application
 to spend a very long time processing a layout and sometimes crash
 if the size was too large.
 .
 We reuse the internal coord limit in QPainter as our maximum size
 here, similar to what we do in Qt Svg for instance.
 .
 For Text.RichText, there were no issues in release builds, but in
 debug builds, you could trigger an overflow assert when rounding
 the number if it exceeded INT_MAX. For this, we simply cap the
 width and height at INT_MAX.
CVE 2025 12385 part2.patch | (download)

src/quick/items/qquicktextnodeengine.cpp | 17 11 + 6 - 0 !
tests/auto/quick/qquicktext/tst_qquicktext.cpp | 81 81 + 0 - 0 !
2 files changed, 92 insertions(+), 6 deletions(-)

 rich text: limit size of text object
 When we draw a text object, we need to store this in RAM
 since the QTextObjectInterface is QPainter-based. This
 could lead to over-allocation if the text object size
 was set to be very large. We use the existing image IO
 infrastructure for making sure allocations are within
 reasonable (and configurable) limits.
disableopengltests.patch | (download)

tests/auto/auto.pro | 1 0 + 1 - 0 !
tests/auto/qml/debugger/debugger.pro | 1 0 + 1 - 0 !
tests/auto/qml/qml.pro | 5 0 + 5 - 0 !
tests/auto/quick/quick.pro | 4 1 + 3 - 0 !
4 files changed, 1 insertion(+), 10 deletions(-)

 disable all tests that fails with xvfb
 So far some tests need real OpenGL support
fix_test_remove_qlibraryinfo.patch | (download)

.qmake.conf | 3 3 + 0 - 0 !
tests/auto/qml/debugger/qdebugmessageservice/tst_qdebugmessageservice.cpp | 2 1 + 1 - 0 !
tests/auto/qml/debugger/qqmldebuggingenabler/qqmldebuggingenabler/tst_qqmldebuggingenabler.cpp | 3 1 + 2 - 0 !
tests/auto/qml/debugger/qqmldebugjs/tst_qqmldebugjs.cpp | 7 3 + 4 - 0 !
tests/auto/qml/debugger/qqmldebugservice/tst_qqmldebugservice.cpp | 6 2 + 4 - 0 !
tests/auto/qml/debugger/qqmldebugtranslationservice/tst_qqmldebugtranslationservice.cpp | 2 1 + 1 - 0 !
tests/auto/qml/debugger/qqmlenginecontrol/tst_qqmlenginecontrol.cpp | 2 1 + 1 - 0 !
tests/auto/qml/debugger/qqmlenginedebuginspectorintegrationtest/tst_qqmlenginedebuginspectorintegration.cpp | 2 1 + 1 - 0 !
tests/auto/qml/debugger/qqmlinspector/tst_qqmlinspector.cpp | 2 1 + 1 - 0 !
tests/auto/qml/debugger/qqmlpreview/tst_qqmlpreview.cpp | 2 1 + 1 - 0 !
tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp | 3 1 + 2 - 0 !
tests/auto/qml/qmlcachegen/tst_qmlcachegen.cpp | 2 1 + 1 - 0 !
tests/auto/qml/qmlformat/tst_qmlformat.cpp | 2 1 + 1 - 0 !
tests/auto/qml/qmllint/tst_qmllint.cpp | 4 2 + 2 - 0 !
tests/auto/qml/qmlmin/tst_qmlmin.cpp | 2 1 + 1 - 0 !
tests/auto/qml/qmlplugindump/tst_qmlplugindump.cpp | 2 1 + 1 - 0 !
tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp | 2 1 + 1 - 0 !
tests/auto/qml/qv4assembler/tst_qv4assembler.cpp | 2 1 + 1 - 0 !
tests/auto/quick/examples/tst_examples.cpp | 4 2 + 2 - 0 !
19 files changed, 26 insertions(+), 28 deletions(-)

 make sure that tests run with just compiled versions of tools
wait_for_window_exposed.patch | (download)

tests/auto/quicktest/signalspy/tst_signalspy.cpp | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 use qwaitforwindowexposed instead of qwaitforwindowactive
 The qWaitForWindowActive() function returns false when the test is
 run inside Xvfb and there is no window manager.
remove_youtube_iframe.patch | (download)

src/quick/doc/src/concepts/modelviewsdata/cppmodels.qdoc | 6 2 + 4 - 0 !
1 file changed, 2 insertions(+), 4 deletions(-)

 replace youtube iframe with youtube link
riscv64 latomic.patch | (download)

src/qml/qml.pro | 3 3 + 0 - 0 !
1 file changed, 3 insertions(+)

 link with -latomic on riscv64
python3.patch | (download)

src/3rdparty/masm/disassembler/udis86/itab.py | 4 2 + 2 - 0 !
src/3rdparty/masm/disassembler/udis86/ud_optable.py | 12 6 + 6 - 0 !
2 files changed, 8 insertions(+), 8 deletions(-)

 make qtdeclarative build with python 3
hurd_x86_64_jit.patch | (download)

src/qml/jit/qv4assemblercommon_p.h | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 enable compilation of platformassembler_x86_64_sysv on gnu/hurd
 .
 Otherwise jit fails to compile on x86_64 GNU/Hurd.