<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nsxiv, branch master</title>
<subtitle>Nsxiv image view custom build
</subtitle>
<id>https://git.krolyxon.com/nsxiv/atom?h=master</id>
<link rel='self' href='https://git.krolyxon.com/nsxiv/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.krolyxon.com/nsxiv/'/>
<updated>2023-06-11T16:07:49Z</updated>
<entry>
<title>Merge branch 'nsxiv-master'</title>
<updated>2023-06-11T16:07:49Z</updated>
<author>
<name>krolyxon</name>
<email>krolyxon@tutanota.com</email>
</author>
<published>2023-06-11T16:07:49Z</published>
<link rel='alternate' type='text/html' href='https://git.krolyxon.com/nsxiv/commit/?id=d566ca84e8562e73c95639b2eec2ab47c72598e3'/>
<id>urn:sha1:d566ca84e8562e73c95639b2eec2ab47c72598e3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>what the actual fuck?</title>
<updated>2023-06-11T16:05:47Z</updated>
<author>
<name>krolyxon</name>
<email>krolyxon@tutanota.com</email>
</author>
<published>2023-06-11T16:05:47Z</published>
<link rel='alternate' type='text/html' href='https://git.krolyxon.com/nsxiv/commit/?id=723e140d5525cdc4572f5b859ec7b66433b5e32b'/>
<id>urn:sha1:723e140d5525cdc4572f5b859ec7b66433b5e32b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>update documentation (#448)</title>
<updated>2023-05-28T06:49:07Z</updated>
<author>
<name>NRK</name>
<email>nrk@disroot.org</email>
</author>
<published>2023-05-28T06:49:07Z</published>
<link rel='alternate' type='text/html' href='https://git.krolyxon.com/nsxiv/commit/?id=c03ec39437b473526080f496d6c8564e98bea1d7'/>
<id>urn:sha1:c03ec39437b473526080f496d6c8564e98bea1d7</id>
<content type='text'>
the fedora copr repo is no longer being updated since the maintainer of
it, mamg22, no longer uses nsxiv in his daily setup (and thus stopped
contributing to nsxiv as well).

he has requested the repo and his email to be removed from the project.
so go ahead and honor that request.

also take this as an opportunity to remove some long inactive
maintainers from the CURRENT MAINTAINERS section of the manpage.

Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/448
Reviewed-by: explosion-mental &lt;explosion-mental@noreply.codeberg.org&gt;
</content>
</entry>
<entry>
<title>make assertions opt-in (#447)</title>
<updated>2023-05-26T07:06:17Z</updated>
<author>
<name>NRK</name>
<email>nrk@disroot.org</email>
</author>
<published>2023-05-26T07:06:17Z</published>
<link rel='alternate' type='text/html' href='https://git.krolyxon.com/nsxiv/commit/?id=40480596cad8654dca225e7fb136f4151f5df5c0'/>
<id>urn:sha1:40480596cad8654dca225e7fb136f4151f5df5c0</id>
<content type='text'>
slight addendum to 657080a7e55843e351fa6ce41e4ce315eab62b67

instead of disabling asserts by adding -DNDEBUG to config.mk, this
disables asserts by default in the source code itself. this way, if
someone compiles with `make CFLAGS="-O3 -march=native"` without knowing
about asserts/-DNDEBUG then he won't accidentally get a build with
assertions in it.

this basically makes the assertions opt-in, if someone wants it, he'll
need to *explicitly* set `-DDEBUG` to get it. so that it's not possible
to accidentally end up with assertions enabled.

Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/447
Reviewed-by: TAAPArthur &lt;taaparthur@noreply.codeberg.org&gt;
</content>
</entry>
<entry>
<title>set a default delay if delay is 0 (#445)</title>
<updated>2023-05-23T11:36:41Z</updated>
<author>
<name>NRK</name>
<email>nrk@disroot.org</email>
</author>
<published>2023-05-23T11:36:41Z</published>
<link rel='alternate' type='text/html' href='https://git.krolyxon.com/nsxiv/commit/?id=0e1bc3c045384bca18922accbc50fa6914a67bd0'/>
<id>urn:sha1:0e1bc3c045384bca18922accbc50fa6914a67bd0</id>
<content type='text'>
gif spec [0] doesn't mention what to do when "Delay Time" is 0.

apng spec [1] states:

| If the the value of the numerator is 0 the decoder should render the
| next frame as quickly as possible, though viewers may impose a
| reasonable lower bound.

webp spec [2]:

| the interpretation of frame duration of 0 (and often &lt;= 10) is
| implementation defined.

so it seems that it's safe to set a default delay for 0 delay frames,
which is what the older gif and webp loaders were already doing. do the
same for the imlib2 multi-frame loader as well.

[0]: https://www.w3.org/Graphics/GIF/spec-gif89a.txt
[1]: https://wiki.mozilla.org/APNG_Specification
[2]: https://developers.google.com/speed/webp/docs/riff_container#animation

Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/445
Reviewed-by: eylles &lt;eylles@noreply.codeberg.org&gt;
</content>
</entry>
<entry>
<title>move load/cache messages to right side (#446)</title>
<updated>2023-05-23T03:01:44Z</updated>
<author>
<name>a1337xyz</name>
<email>a1337xyz@noreply.codeberg.org</email>
</author>
<published>2023-05-23T03:01:44Z</published>
<link rel='alternate' type='text/html' href='https://git.krolyxon.com/nsxiv/commit/?id=e4fceab18f4b7856a2ef6fbabebe1988c1fbfaea'/>
<id>urn:sha1:e4fceab18f4b7856a2ef6fbabebe1988c1fbfaea</id>
<content type='text'>
this avoids overwriting the left side bar,
which might contain more important information,
for e.g output of the thumb-info script.

Co-authored-by: A1337Xyz &lt;blindwizard@tutanota.com&gt;
Co-authored-by: NRK &lt;nrk@disroot.org&gt;
Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/446
Reviewed-by: eylles &lt;eylles@noreply.codeberg.org&gt;
Reviewed-by: NRK &lt;nrk@disroot.org&gt;
Co-authored-by: a1337xyz &lt;a1337xyz@noreply.codeberg.org&gt;
Co-committed-by: a1337xyz &lt;a1337xyz@noreply.codeberg.org&gt;
</content>
</entry>
<entry>
<title>fix: memory leak in `win_draw_bar` (#444)</title>
<updated>2023-05-19T13:17:02Z</updated>
<author>
<name>blk_750</name>
<email>blk_750@noreply.codeberg.org</email>
</author>
<published>2023-05-19T13:17:02Z</published>
<link rel='alternate' type='text/html' href='https://git.krolyxon.com/nsxiv/commit/?id=824b2cb8858b19ace3e26a0f54cf9dd740be9b59'/>
<id>urn:sha1:824b2cb8858b19ace3e26a0f54cf9dd740be9b59</id>
<content type='text'>
Closes: https://codeberg.org/nsxiv/nsxiv/issues/410
Co-authored-by: blk_750 &lt;blk_750@protonmail.com&gt;
Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/444
Reviewed-by: NRK &lt;nrk@disroot.org&gt;
Co-authored-by: blk_750 &lt;blk_750@noreply.codeberg.org&gt;
Co-committed-by: blk_750 &lt;blk_750@noreply.codeberg.org&gt;
</content>
</entry>
<entry>
<title>fix: calling imlib2 with color modifier being NULL (#440)</title>
<updated>2023-05-18T15:06:44Z</updated>
<author>
<name>NRK</name>
<email>nrk@disroot.org</email>
</author>
<published>2023-05-18T15:06:44Z</published>
<link rel='alternate' type='text/html' href='https://git.krolyxon.com/nsxiv/commit/?id=d0ec8716d7d4d0cfb0067290cac51b59b7fd4e42'/>
<id>urn:sha1:d0ec8716d7d4d0cfb0067290cac51b59b7fd4e42</id>
<content type='text'>
the multiframe loaders sets the color modifier to NULL but doesn't
restore it before returning. this results in a imlib2 developer warning
if you try to change brightness/contrast on a multiframe image (which
doesn't have alpha).

ensure that the color modifier is restored before returning under all
paths.

Reported-by: Madhu

Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/440
Reviewed-by: eylles &lt;eylles@noreply.codeberg.org&gt;
</content>
</entry>
<entry>
<title>fix: loading old frames due to multi-frame cache (#437)</title>
<updated>2023-05-18T15:05:45Z</updated>
<author>
<name>NRK</name>
<email>nrk@disroot.org</email>
</author>
<published>2023-05-18T15:05:45Z</published>
<link rel='alternate' type='text/html' href='https://git.krolyxon.com/nsxiv/commit/?id=4b67816eae77db28db64e5e80d0d99c60e74973f'/>
<id>urn:sha1:4b67816eae77db28db64e5e80d0d99c60e74973f</id>
<content type='text'>
by default imlib2 doesn't check the file's timestamp to avoid disk
activity when loading from cache. however, this ends up breaking our
autoreload functionality on multi-frame images.

the reason why single frame images weren't broken was because
`img_load()` calls `imlib_image_set_changes_on_disk()`, which tells
imlib2 to check the timestamp before loading from cache.

do the same thing for the multi-frame loader as well.

additionally add a comment to img_load() explaining what's going on.

Closes: https://codeberg.org/nsxiv/nsxiv/issues/436

Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/437
Reviewed-by: eylles &lt;eylles@noreply.codeberg.org&gt;
</content>
</entry>
<entry>
<title>[ci]: silence false positive warning</title>
<updated>2023-05-13T17:28:27Z</updated>
<author>
<name>NRK</name>
<email>nrk@disroot.org</email>
</author>
<published>2023-05-13T17:28:27Z</published>
<link rel='alternate' type='text/html' href='https://git.krolyxon.com/nsxiv/commit/?id=5c6745436fcaca6e92b1a36a4add5aa15d17e164'/>
<id>urn:sha1:5c6745436fcaca6e92b1a36a4add5aa15d17e164</id>
<content type='text'>
clang-tidy currently flags the following:

	util.c:57:8: error: 'ptr' may be set to null if 'realloc' fails, which may result in a leak of the original buffer [bugprone-suspicious-realloc-usage,-warnings-as-errors]
	        ptr = realloc(ptr, size);

the analysis here is correct, but if realloc fails, we simply exit so
there's no real "leak".

moreover this check is not very useful for nsxiv's codebase because we
do not use naked realloc(), instead we use the erealloc wrapper that
exits on failure. so just disable the warning entirely instead of
changing the source code to silence the false positive.
</content>
</entry>
</feed>
