<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qt/qtdeclarative.git, branch 5.10</title>
<subtitle>Qt Declarative (Quick 2)
</subtitle>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/'/>
<entry>
<title>Merge remote-tracking branch 'origin/5.9' into 5.10</title>
<updated>2018-02-07T10:03:01+00:00</updated>
<author>
<name>Liang Qi</name>
<email>liang.qi@qt.io</email>
</author>
<published>2018-02-07T10:03:01+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=3e3c6717ba634825a65069541500c40645a808ee'/>
<id>3e3c6717ba634825a65069541500c40645a808ee</id>
<content type='text'>
Change-Id: I3b250545e334f50dcef1a75acdef51820d34079a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I3b250545e334f50dcef1a75acdef51820d34079a
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix memory leak with deferred properties</title>
<updated>2018-02-06T20:59:44+00:00</updated>
<author>
<name>Simon Hausmann</name>
<email>simon.hausmann@qt.io</email>
</author>
<published>2018-02-05T13:49:46+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=c6b3c69e014f846a142c2429cd2d675c75b74245'/>
<id>c6b3c69e014f846a142c2429cd2d675c75b74245</id>
<content type='text'>
This is a regression introduced with commit
3b6eeee177b64eebe240d51be0c7bb5f031471d8 in the 5.9 branch. When
constructing an object with deferred properties and not running
qmlExecuteDeferred, then the deferred data would never get deleted
because the bindings list remains non-empty and we would leak the
deferred data as well as the entire compilation unit behind it.

This happens for example when declaring when instantiating a QML file
with states:

   states: [ State { ... }, State { ... }, ... }

Unless every state is entered, its deferred changes property is never
applied (via qmlExecuteDeferred) and thus the defer data is leaked.

Task-number: QTBUG-66189
Change-Id: I1b2119c601d1e0ab4e37f53d4cf2f569586ee883
Reviewed-by: J-P Nurmi &lt;jpnurmi@qt.io&gt;
Reviewed-by: Lars Knoll &lt;lars.knoll@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a regression introduced with commit
3b6eeee177b64eebe240d51be0c7bb5f031471d8 in the 5.9 branch. When
constructing an object with deferred properties and not running
qmlExecuteDeferred, then the deferred data would never get deleted
because the bindings list remains non-empty and we would leak the
deferred data as well as the entire compilation unit behind it.

This happens for example when declaring when instantiating a QML file
with states:

   states: [ State { ... }, State { ... }, ... }

Unless every state is entered, its deferred changes property is never
applied (via qmlExecuteDeferred) and thus the defer data is leaked.

Task-number: QTBUG-66189
Change-Id: I1b2119c601d1e0ab4e37f53d4cf2f569586ee883
Reviewed-by: J-P Nurmi &lt;jpnurmi@qt.io&gt;
Reviewed-by: Lars Knoll &lt;lars.knoll@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Clean up manual refcounting of compilation units</title>
<updated>2018-02-06T20:59:40+00:00</updated>
<author>
<name>Simon Hausmann</name>
<email>simon.hausmann@qt.io</email>
</author>
<published>2018-02-05T13:18:18+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=5b0a98fa16330f220d3fbf67e9a55c8632d30129'/>
<id>5b0a98fa16330f220d3fbf67e9a55c8632d30129</id>
<content type='text'>
Replace manual use in QQmlData and QQmlData::DeferredData with
QQmlRefPointer.

Due to forward declaration trouble this required declaring a non-inline
constructor/destructor for QQmlData and DeferedData and disabling
copying, so that not every C++ compilation unit including qqmldata_p.h
needs to instantiate the QQmlRefPointer destructor and thus know whether
QV4::CompiledData::CompilationUnit has release(), etc. The out-of-line
declarations however should not have any negative impact as the only
call sites are within qqmlengine.cpp, too.

Change-Id: I2e8295cb0d7f876a5d7d18765dbac285184e6c99
Reviewed-by: Lars Knoll &lt;lars.knoll@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace manual use in QQmlData and QQmlData::DeferredData with
QQmlRefPointer.

Due to forward declaration trouble this required declaring a non-inline
constructor/destructor for QQmlData and DeferedData and disabling
copying, so that not every C++ compilation unit including qqmldata_p.h
needs to instantiate the QQmlRefPointer destructor and thus know whether
QV4::CompiledData::CompilationUnit has release(), etc. The out-of-line
declarations however should not have any negative impact as the only
call sites are within qqmlengine.cpp, too.

Change-Id: I2e8295cb0d7f876a5d7d18765dbac285184e6c99
Reviewed-by: Lars Knoll &lt;lars.knoll@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add back the optional heaptrack trace points</title>
<updated>2018-02-06T10:58:46+00:00</updated>
<author>
<name>Andras Mantia</name>
<email>andras@kdab.com</email>
</author>
<published>2018-02-01T18:01:13+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=43b6e0323ac5252dd29b193a7965a0ef3252736e'/>
<id>43b6e0323ac5252dd29b193a7965a0ef3252736e</id>
<content type='text'>
This approach tracks object allocations only,
when slots from already allocated memory segment are used.


Change-Id: I514b974d7580c1236264bec96dc1abe594585e86
Reviewed-by: Milian Wolff &lt;milian.wolff@kdab.com&gt;
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
Reviewed-by: Simon Hausmann &lt;simon.hausmann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This approach tracks object allocations only,
when slots from already allocated memory segment are used.


Change-Id: I514b974d7580c1236264bec96dc1abe594585e86
Reviewed-by: Milian Wolff &lt;milian.wolff@kdab.com&gt;
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
Reviewed-by: Simon Hausmann &lt;simon.hausmann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Use the GL context shared in the render context</title>
<updated>2018-02-06T09:19:54+00:00</updated>
<author>
<name>Erik Verbruggen</name>
<email>erik.verbruggen@qt.io</email>
</author>
<published>2018-01-18T13:42:41+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=e227e3a6ce9e18093fd74fabe0c4235b70f7b8f7'/>
<id>e227e3a6ce9e18093fd74fabe0c4235b70f7b8f7</id>
<content type='text'>
.. instead of calling QOpenGLContext::currentContext(), which in turn
accesses the thread-local storage.

Change-Id: I773686deb2a745e066b0878a6ccb087afb81774d
Reviewed-by: Simon Hausmann &lt;simon.hausmann@qt.io&gt;
Reviewed-by: Tuukka Turunen &lt;tuukka.turunen@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
.. instead of calling QOpenGLContext::currentContext(), which in turn
accesses the thread-local storage.

Change-Id: I773686deb2a745e066b0878a6ccb087afb81774d
Reviewed-by: Simon Hausmann &lt;simon.hausmann@qt.io&gt;
Reviewed-by: Tuukka Turunen &lt;tuukka.turunen@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>touchEvent_propagation: remove some QWaits</title>
<updated>2018-02-05T15:02:29+00:00</updated>
<author>
<name>Shawn Rutledge</name>
<email>shawn.rutledge@qt.io</email>
</author>
<published>2017-11-27T12:22:34+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=f70c0ceee44b6e36696e33a9c4df278e1c40daa6'/>
<id>f70c0ceee44b6e36696e33a9c4df278e1c40daa6</id>
<content type='text'>
I doubt it will make the test any less flaky, but may be an improvement.

Task-number: QTBUG-53916
Change-Id: I3901ab26107abfd1420947392232243ad8c40ead
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I doubt it will make the test any less flaky, but may be an improvement.

Task-number: QTBUG-53916
Change-Id: I3901ab26107abfd1420947392232243ad8c40ead
Reviewed-by: Mitch Curtis &lt;mitch.curtis@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Document that Q_GADGET classes cannot be used with newQMetaObject()</title>
<updated>2018-02-05T12:17:01+00:00</updated>
<author>
<name>Mitch Curtis</name>
<email>mitch.curtis@qt.io</email>
</author>
<published>2018-01-30T15:08:30+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=23cca59848087875ae3486f61d1cd4fe0d90fe7c'/>
<id>23cca59848087875ae3486f61d1cd4fe0d90fe7c</id>
<content type='text'>
Task-number: QTBUG-62007
Change-Id: I63d5a57163b36bc8629930e1cda8d5afa1e77d15
Reviewed-by: Simon Hausmann &lt;simon.hausmann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Task-number: QTBUG-62007
Change-Id: I63d5a57163b36bc8629930e1cda8d5afa1e77d15
Reviewed-by: Simon Hausmann &lt;simon.hausmann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/5.9' into 5.10</title>
<updated>2018-02-05T09:25:15+00:00</updated>
<author>
<name>Liang Qi</name>
<email>liang.qi@qt.io</email>
</author>
<published>2018-02-05T09:25:15+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=6fe4c1f2803abac74da152b9a5656eff2d71dceb'/>
<id>6fe4c1f2803abac74da152b9a5656eff2d71dceb</id>
<content type='text'>
 Conflicts:
	tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp

Change-Id: I64f7c1d776fab3cad4530f291b93afd2a8fb8533
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 Conflicts:
	tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp

Change-Id: I64f7c1d776fab3cad4530f291b93afd2a8fb8533
</pre>
</div>
</content>
</entry>
<entry>
<title>QML: Collapse all NaNs into one single (encoded) NaN</title>
<updated>2018-02-05T09:15:25+00:00</updated>
<author>
<name>Erik Verbruggen</name>
<email>erik.verbruggen@qt.io</email>
</author>
<published>2018-01-26T10:28:06+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=8501993e5275076d9163a7e2f8bab9ba2f187f72'/>
<id>8501993e5275076d9163a7e2f8bab9ba2f187f72</id>
<content type='text'>
The idea of NaN boxing is to use one single NaN as a "true" NaN, and all
others as a boxed value. So when encoding some NaN, be sure to use that
one "true" NaN. Otherwise, it will be interpreted as an encoded value.

Task-number: QTBUG-65998
Change-Id: Ia6e4641be180f3d626c40a57b473f181358e04db
Reviewed-by: Simon Hausmann &lt;simon.hausmann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The idea of NaN boxing is to use one single NaN as a "true" NaN, and all
others as a boxed value. So when encoding some NaN, be sure to use that
one "true" NaN. Otherwise, it will be interpreted as an encoded value.

Task-number: QTBUG-65998
Change-Id: Ia6e4641be180f3d626c40a57b473f181358e04db
Reviewed-by: Simon Hausmann &lt;simon.hausmann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add QQuickWindow synthMouseFromTouch test</title>
<updated>2018-02-03T12:49:07+00:00</updated>
<author>
<name>Shawn Rutledge</name>
<email>shawn.rutledge@qt.io</email>
</author>
<published>2018-01-17T07:29:12+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=c2bd33af9fb548ff20bf34323271baa89cbc8a55'/>
<id>c2bd33af9fb548ff20bf34323271baa89cbc8a55</id>
<content type='text'>
Similar to the one for QQuickWidget, it tests the effect of
AA_SynthesizeMouseForUnhandledTouchEvents and verifies the
source() of the synthesized mouse event.

Change-Id: Ib706b5cc7b9a374850f3197ca6ce2c3aed4d1ba2
Reviewed-by: Jan Arve Sæther &lt;jan-arve.saether@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Similar to the one for QQuickWidget, it tests the effect of
AA_SynthesizeMouseForUnhandledTouchEvents and verifies the
source() of the synthesized mouse event.

Change-Id: Ib706b5cc7b9a374850f3197ca6ce2c3aed4d1ba2
Reviewed-by: Jan Arve Sæther &lt;jan-arve.saether@qt.io&gt;
</pre>
</div>
</content>
</entry>
</feed>
