<feed xmlns='http://www.w3.org/2005/Atom'>
<title>subsurface.git/qt-models, branch v4.7.6</title>
<subtitle>forked from https://github.com/subsurface/subsurface</subtitle>
<id>https://git.tsegers.com/subsurface.git/atom?h=v4.7.6</id>
<link rel='self' href='https://git.tsegers.com/subsurface.git/atom?h=v4.7.6'/>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/'/>
<updated>2017-12-29T21:16:58Z</updated>
<entry>
<title>cleanup: less than operators shall not use equal</title>
<updated>2017-12-29T21:16:58Z</updated>
<author>
<name>Jan Mulder</name>
<email>jlmulder@xs4all.nl</email>
</author>
<published>2017-12-29T18:29:23Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=75142b0a63279bac1e0b276edbf48ba3cea62862'/>
<id>urn:sha1:75142b0a63279bac1e0b276edbf48ba3cea62862</id>
<content type='text'>
See also commit c032006d91ee3c. Compare functions passed
to sort functions need to compare for less-than and not
less-or-equal.

Signed-off-by: Jan Mulder &lt;jlmulder@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>cleanup: Uninitialized scalar field</title>
<updated>2017-12-28T16:30:25Z</updated>
<author>
<name>Jan Mulder</name>
<email>jlmulder@xs4all.nl</email>
</author>
<published>2017-12-28T12:24:34Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=57e701f10e834b89864ce879c4fc49714b3e47e8'/>
<id>urn:sha1:57e701f10e834b89864ce879c4fc49714b3e47e8</id>
<content type='text'>
CID 45184

Signed-off-by: Jan Mulder &lt;jlmulder@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>cleanup: Uninitialized scalar field</title>
<updated>2017-12-28T16:30:25Z</updated>
<author>
<name>Jan Mulder</name>
<email>jlmulder@xs4all.nl</email>
</author>
<published>2017-12-28T12:13:18Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=803759efea1aa648dafad2f15fd95da228df8dbb'/>
<id>urn:sha1:803759efea1aa648dafad2f15fd95da228df8dbb</id>
<content type='text'>
CID 208317
CID 208325

Signed-off-by: Jan Mulder &lt;jlmulder@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>cleanup: Logically dead code</title>
<updated>2017-12-28T16:30:25Z</updated>
<author>
<name>Jan Mulder</name>
<email>jlmulder@xs4all.nl</email>
</author>
<published>2017-12-28T11:54:41Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=1ce9b5bb9af7c67644b071ba5f2e14bb00f04e7c'/>
<id>urn:sha1:1ce9b5bb9af7c67644b071ba5f2e14bb00f04e7c</id>
<content type='text'>
CID 208318

Signed-off-by: Jan Mulder &lt;jlmulder@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>cleanup: Argument cannot be negative</title>
<updated>2017-12-28T16:30:25Z</updated>
<author>
<name>Jan Mulder</name>
<email>jlmulder@xs4all.nl</email>
</author>
<published>2017-12-28T11:46:12Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=6fa23f74f73d9baeb871670de0dcb6f5d3838cde'/>
<id>urn:sha1:6fa23f74f73d9baeb871670de0dcb6f5d3838cde</id>
<content type='text'>
CID 208296. IndexOf can return -1 when not found, which will
not happen in this context, so just to silence Coverity.

Signed-off-by: Jan Mulder &lt;jlmulder@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>filter: fix trip header bug</title>
<updated>2017-12-28T16:30:13Z</updated>
<author>
<name>Jan Mulder</name>
<email>jlmulder@xs4all.nl</email>
</author>
<published>2017-12-27T09:23:37Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=2a58be66498907c972fbd863174a30fa8235f172'/>
<id>urn:sha1:2a58be66498907c972fbd863174a30fa8235f172</id>
<content type='text'>
With commit 5962f00679fae555, a well known problem was introduced.
Incorrect width setting for the spanning trip lines. And as there
is even a specific functon for that, just call this.

The reason the mentioned commit introduces this, is that
invalidate() causes layoutChanged signals, and invalidateFilter()
does not.

Signed-off-by: Jan Mulder &lt;jlmulder@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>filter: setStringList() at end of every change</title>
<updated>2017-12-28T16:30:13Z</updated>
<author>
<name>Jan Mulder</name>
<email>jlmulder@xs4all.nl</email>
</author>
<published>2017-12-27T08:02:52Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=522b922d2a7664d1e83239b262ea687681d6a731'/>
<id>urn:sha1:522b922d2a7664d1e83239b262ea687681d6a731</id>
<content type='text'>
This is mainly code maintenance. Instead of emitting explicit
dataChanged signals, we can make sure that setStringList()
is called after all model data manipulation is ready. Accoording
to the Qt docs: "The model will notify any attached views
that its underlying data has changed".

In itself, this does not solve the tripped assert mentioned in
commit 5962f00679fae5, but this calling at the end just feels
better.

Signed-off-by: Jan Mulder &lt;jlmulder@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>filter: prevent assert trap on exit filters</title>
<updated>2017-12-28T16:30:13Z</updated>
<author>
<name>Jan Mulder</name>
<email>jlmulder@xs4all.nl</email>
</author>
<published>2017-12-27T07:45:36Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=97d564e92041ffb1997b76d6db7f0be612f9a29b'/>
<id>urn:sha1:97d564e92041ffb1997b76d6db7f0be612f9a29b</id>
<content type='text'>
This "bug" is found using Qt 5.10 compiled in developer mode. Access
the filers, click a little around here, close the filters. Almost every
time the following assert is triggered:

ASSERT failure in QPersistentModelIndex::~QPersistentModelIndex:
"persistent model indexes corrupted", file itemmodels/qabstractitemmodel.cpp, line 643

This is relatively deep down in Qt, and it is triggered by clearing the
filters. Trying to force a crash when using the same scenario in Qt 5.10
compiled for production (so no active asserts) did not result in a crash.
So, upto this time, it is unclear if the Qt assert points out a real problem,
or it is some false alarm (for whatever reason).

Further investigation shows that the assert can be solved by changing the
invalidate() to an invalidateFilter(). Indeed, the last variant is a little
more lightweigt, and does seem to do the same job from a functional point
of view (in this case).

Signed-off-by: Jan Mulder &lt;jlmulder@xs4all.nl&gt;
</content>
</entry>
<entry>
<title>Remove unnecessary dynamic_cast&lt;&gt;s in filter code</title>
<updated>2017-12-28T08:11:12Z</updated>
<author>
<name>Berthold Stoeger</name>
<email>bstoeger@mail.tuwien.ac.at</email>
</author>
<published>2017-12-27T21:27:13Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=c3b1c641837a441734ee9c525f5ed3699735c18c'/>
<id>urn:sha1:c3b1c641837a441734ee9c525f5ed3699735c18c</id>
<content type='text'>
FilterModelBase is a direct subclass of QAbstractItemModel. Therefore,
dynamic_cast&lt;&gt;ing the former to the latter is unnecessary. Probably
an artifact of previous code.

Signed-off-by: Berthold Stoeger &lt;bstoeger@mail.tuwien.ac.at&gt;
</content>
</entry>
<entry>
<title>Cleanup: avoid a few memory leaks</title>
<updated>2017-12-26T21:41:58Z</updated>
<author>
<name>Dirk Hohndel</name>
<email>dirk@hohndel.org</email>
</author>
<published>2017-12-26T21:14:40Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=652e382e686df5fe0e63e2f2568e820819ab1b08'/>
<id>urn:sha1:652e382e686df5fe0e63e2f2568e820819ab1b08</id>
<content type='text'>
Coverity CID 215199
Coverity CID 215195
Coverity CID 215196
Coverity CID 215198

Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
</feed>
