<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qt/qtdeclarative.git/src/quick/items/qquickrendercontrol.cpp, branch v5.13.2</title>
<subtitle>Qt Declarative (Quick 2)
</subtitle>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/'/>
<entry>
<title>Fix QQuickWindow::afterAnimating with QQuickRenderControl</title>
<updated>2019-10-10T05:01:20+00:00</updated>
<author>
<name>Paul Lemire</name>
<email>paul.lemire@kdab.com</email>
</author>
<published>2019-10-08T11:07:52+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=b418c2fe6c97aa63e990ce5ee349aa33266b6579'/>
<id>b418c2fe6c97aa63e990ce5ee349aa33266b6579</id>
<content type='text'>
emits QQuickWindow::afterAnimating prior to synching changes

Task-number: QTBUG-79084
Change-Id: Ie79d3b8ec912c2e662b2c0745dda442d47d184bd
Reviewed-by: Laszlo Agocs &lt;laszlo.agocs@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
emits QQuickWindow::afterAnimating prior to synching changes

Task-number: QTBUG-79084
Change-Id: Ie79d3b8ec912c2e662b2c0745dda442d47d184bd
Reviewed-by: Laszlo Agocs &lt;laszlo.agocs@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix null pointer access in QQuickOpenGLShaderEffectMaterialCache</title>
<updated>2018-11-07T18:33:33+00:00</updated>
<author>
<name>Jüri Valdmann</name>
<email>juri.valdmann@qt.io</email>
</author>
<published>2018-11-07T10:56:48+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=6c08137faf1a53db879701126608833474a2450b'/>
<id>6c08137faf1a53db879701126608833474a2450b</id>
<content type='text'>
If a QQuickWindow is destroyed without ever being rendered, then there won't be
any QOpenGLContext in QQuickOpenGLShaderEffectMaterial::cleanupMaterialCache.

Same goes for QQuickWidgetRenderControl.

Fixes: QTBUG-65236
Change-Id: I2742505d147bc8444b46688170d33fbb2844f2ac
Reviewed-by: Laszlo Agocs &lt;laszlo.agocs@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If a QQuickWindow is destroyed without ever being rendered, then there won't be
any QOpenGLContext in QQuickOpenGLShaderEffectMaterial::cleanupMaterialCache.

Same goes for QQuickWidgetRenderControl.

Fixes: QTBUG-65236
Change-Id: I2742505d147bc8444b46688170d33fbb2844f2ac
Reviewed-by: Laszlo Agocs &lt;laszlo.agocs@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix QQuickRenderControl::invalidate with software renderer</title>
<updated>2018-10-10T18:34:44+00:00</updated>
<author>
<name>Allan Sandfeld Jensen</name>
<email>allan.jensen@qt.io</email>
</author>
<published>2018-10-09T15:47:42+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=54fdc4de7963437642704c2bcf339979aa4f8734'/>
<id>54fdc4de7963437642704c2bcf339979aa4f8734</id>
<content type='text'>
With the software renderer QQuickRenderControl::initialize() is never
called, but we still need to cleanup scenegraph nodes on destruction or
invalidation.

Change-Id: I4c17a440d683b1f0512fb8a9370430cf3680d8ee
Task-number: QTBUG-70740
Reviewed-by: Simon Hausmann &lt;simon.hausmann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With the software renderer QQuickRenderControl::initialize() is never
called, but we still need to cleanup scenegraph nodes on destruction or
invalidation.

Change-Id: I4c17a440d683b1f0512fb8a9370430cf3680d8ee
Task-number: QTBUG-70740
Reviewed-by: Simon Hausmann &lt;simon.hausmann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Make QtDeclarative work for the no-thread config</title>
<updated>2018-09-05T00:00:09+00:00</updated>
<author>
<name>Morten Johan Sørvig</name>
<email>morten.sorvig@qt.io</email>
</author>
<published>2018-07-02T20:27:11+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=a7472867f407f1226d82aa7bce4cd4d6f9bd652f'/>
<id>a7472867f407f1226d82aa7bce4cd4d6f9bd652f</id>
<content type='text'>
Force use of the basic render loop, adapt qqmlthread
and qqmltypeloader to work on a single thread.

Disable components and features that require worker
threads: qmldb_server, worker script, shapes, folderlistmodel,
threaded render loop, software renderer.

Done-with: Lorn Potter &lt;lorn.potter@gmail.com&gt;
Change-Id: I77d965947f684f8b7d19284b5decd893395316cb
Reviewed-by: Lorn Potter &lt;lorn.potter@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Force use of the basic render loop, adapt qqmlthread
and qqmltypeloader to work on a single thread.

Disable components and features that require worker
threads: qmldb_server, worker script, shapes, folderlistmodel,
threaded render loop, software renderer.

Done-with: Lorn Potter &lt;lorn.potter@gmail.com&gt;
Change-Id: I77d965947f684f8b7d19284b5decd893395316cb
Reviewed-by: Lorn Potter &lt;lorn.potter@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/5.11' into dev</title>
<updated>2018-07-16T07:38:30+00:00</updated>
<author>
<name>Qt Forward Merge Bot</name>
<email>qt_forward_merge_bot@qt-project.org</email>
</author>
<published>2018-07-13T23:02:04+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=43645fd59c6bcb0a3e37eef530ef970f51ed48af'/>
<id>43645fd59c6bcb0a3e37eef530ef970f51ed48af</id>
<content type='text'>
Conflicts:
	src/quick/items/qquickloader.cpp
	tests/auto/quick/qquickanimations/tst_qquickanimations.cpp

Change-Id: I0cb9f637d24ccd0ecfb50c455cc210119f744b02
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	src/quick/items/qquickloader.cpp
	tests/auto/quick/qquickanimations/tst_qquickanimations.cpp

Change-Id: I0cb9f637d24ccd0ecfb50c455cc210119f744b02
</pre>
</div>
</content>
</entry>
<entry>
<title>QQuickRenderControl: Grab framebuffer with alpha if the window uses it</title>
<updated>2018-07-12T05:35:54+00:00</updated>
<author>
<name>Andy Shaw</name>
<email>andy.shaw@qt.io</email>
</author>
<published>2018-06-21T11:23:55+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=13cbbef38cf7dd58a5550a8548a9ea9e820cca85'/>
<id>13cbbef38cf7dd58a5550a8548a9ea9e820cca85</id>
<content type='text'>
Change-Id: Ie11e86be997d749e6f82f0fb81a82bb0b50ab1f1
Reviewed-by: Laszlo Agocs &lt;laszlo.agocs@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Ie11e86be997d749e6f82f0fb81a82bb0b50ab1f1
Reviewed-by: Laszlo Agocs &lt;laszlo.agocs@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix crash with the QQuickRenderControl and deleteLater</title>
<updated>2018-06-24T05:00:12+00:00</updated>
<author>
<name>David Edmundson</name>
<email>davidedmundson@kde.org</email>
</author>
<published>2018-06-19T15:29:55+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=c21a6a9f2c2d635aca3bf88a6431c560b16b1cc6'/>
<id>c21a6a9f2c2d635aca3bf88a6431c560b16b1cc6</id>
<content type='text'>
From 238cc098d785b4fe76fbc8422b340d98ff8c1a1b which removes this same
line from the software renderer.

&gt;I can't see a good reason for the existence of the sendPostedEvents()
&gt;call there. It is not present in the other render loops and according
to
&gt;git blame it stems from the very early first implementation of the
&gt;software renderer where surely copy &amp; paste from other render loop code
&gt;was involved back then.

Task-number: QTBUG-68997
Change-Id: I40aaeb92f431d474b7b1affb85d0ea5f8b2a46ef
Reviewed-by: Simon Hausmann &lt;simon.hausmann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
From 238cc098d785b4fe76fbc8422b340d98ff8c1a1b which removes this same
line from the software renderer.

&gt;I can't see a good reason for the existence of the sendPostedEvents()
&gt;call there. It is not present in the other render loops and according
to
&gt;git blame it stems from the very early first implementation of the
&gt;software renderer where surely copy &amp; paste from other render loop code
&gt;was involved back then.

Task-number: QTBUG-68997
Change-Id: I40aaeb92f431d474b7b1affb85d0ea5f8b2a46ef
Reviewed-by: Simon Hausmann &lt;simon.hausmann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>use nullptr consistently (clang-tidy)</title>
<updated>2018-02-26T07:13:18+00:00</updated>
<author>
<name>Shawn Rutledge</name>
<email>shawn.rutledge@qt.io</email>
</author>
<published>2018-02-21T09:41:54+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=499ec43937e926e4f2fa57a9baa455fcb3862262'/>
<id>499ec43937e926e4f2fa57a9baa455fcb3862262</id>
<content type='text'>
From now on we prefer nullptr instead of 0 to clarify cases where
we are assigning or testing a pointer rather than a numeric zero.

Also, replaced cases where 0 was passed as Qt::KeyboardModifiers
with Qt::NoModifier (clang-tidy replaced them with nullptr, which
waas wrong, so it was just as well to make the tests more readable
rather than to revert those lines).

Change-Id: I4735d35e4d9f42db5216862ce091429eadc6e65d
Reviewed-by: Simon Hausmann &lt;simon.hausmann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
From now on we prefer nullptr instead of 0 to clarify cases where
we are assigning or testing a pointer rather than a numeric zero.

Also, replaced cases where 0 was passed as Qt::KeyboardModifiers
with Qt::NoModifier (clang-tidy replaced them with nullptr, which
waas wrong, so it was just as well to make the tests more readable
rather than to revert those lines).

Change-Id: I4735d35e4d9f42db5216862ce091429eadc6e65d
Reviewed-by: Simon Hausmann &lt;simon.hausmann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix QQuickRenderControl software grabs on surface not rendered elsewhere</title>
<updated>2017-10-14T05:53:34+00:00</updated>
<author>
<name>David Edmundson</name>
<email>davidedmundson@kde.org</email>
</author>
<published>2017-09-28T13:05:50+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=83e9d165761ad68730722aeb0bffb8fabe555d1f'/>
<id>83e9d165761ad68730722aeb0bffb8fabe555d1f</id>
<content type='text'>
The softwareRenderer is created in QQuickWindowPrivate::syncSceneGraph

If a window is purely offscreen and only read with grabs() this never
gets created as we check the software renderer too early.

This can be fixed by reordering some code.

Change-Id: I882a8c11ab5d285a54b32ab4f53abfbc8c50f449
Reviewed-by: Laszlo Agocs &lt;laszlo.agocs@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The softwareRenderer is created in QQuickWindowPrivate::syncSceneGraph

If a window is purely offscreen and only read with grabs() this never
gets created as we check the software renderer too early.

This can be fixed by reordering some code.

Change-Id: I882a8c11ab5d285a54b32ab4f53abfbc8c50f449
Reviewed-by: Laszlo Agocs &lt;laszlo.agocs@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Delay the deletion of QSGTextures until all windows are synchronized</title>
<updated>2017-06-16T06:59:04+00:00</updated>
<author>
<name>Dominik Holland</name>
<email>dominik.holland@pelagicore.com</email>
</author>
<published>2017-03-02T14:25:07+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=eeb320bbd8763f3e72f79369cc3908e999a0da3c'/>
<id>eeb320bbd8763f3e72f79369cc3908e999a0da3c</id>
<content type='text'>
With the 'basic' and the 'windows' render loop the scene graph
context is shared. Because of this we cannot start deleting textures
after the first window is synchronized as it may contain textures
needed by the another window, which is not yet synchronized.

QWindowPrivate::syncSceneGraph() is not calling endSync() anymore
as it doesn't know whether it is the last window or not. Instead
the renderloop is now responsible for calling endSync() once this
is safe to do.

Change-Id: Icb50ebfb447c928e38b41df7e26f3bfafdb4a811
Reviewed-by: Robert Griebl &lt;robert.griebl@pelagicore.com&gt;
Reviewed-by: Gunnar Sletta &lt;gunnar@crimson.no&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With the 'basic' and the 'windows' render loop the scene graph
context is shared. Because of this we cannot start deleting textures
after the first window is synchronized as it may contain textures
needed by the another window, which is not yet synchronized.

QWindowPrivate::syncSceneGraph() is not calling endSync() anymore
as it doesn't know whether it is the last window or not. Instead
the renderloop is now responsible for calling endSync() once this
is safe to do.

Change-Id: Icb50ebfb447c928e38b41df7e26f3bfafdb4a811
Reviewed-by: Robert Griebl &lt;robert.griebl@pelagicore.com&gt;
Reviewed-by: Gunnar Sletta &lt;gunnar@crimson.no&gt;
</pre>
</div>
</content>
</entry>
</feed>
