<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wlroots.git/util, branch master</title>
<subtitle>fork of wlroots with action binder support
</subtitle>
<id>https://git.vlhl.dev/navi/wayland/wlroots.git/atom?h=master</id>
<link rel='self' href='https://git.vlhl.dev/navi/wayland/wlroots.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/'/>
<updated>2024-02-15T14:41:12+00:00</updated>
<entry>
<title>Define _POSIX_C_SOURCE globally</title>
<updated>2024-02-15T14:41:12+00:00</updated>
<author>
<name>Simon Ser</name>
<email>contact@emersion.fr</email>
</author>
<published>2024-02-15T14:34:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=842093bb843ae6c719c2b1cf32eb749cab9e46ca'/>
<id>urn:sha1:842093bb843ae6c719c2b1cf32eb749cab9e46ca</id>
<content type='text'>
Stop trying to maintain a per-file _POSIX_C_SOURCE. Instead,
require POSIX.1-2008 globally. A lot of core source files depend
on that already.

Some care must be taken on a few select files where we need a bit
more than POSIX. Some files need XSI extensions (_XOPEN_SOURCE) and
some files need BSD extensions (_DEFAULT_SOURCE). In both cases,
these feature test macros imply _POSIX_C_SOURCE. Make sure to not
define both these macros and _POSIX_C_SOURCE explicitly to avoid
POSIX requirement conflicts (e.g. _POSIX_C_SOURCE says POSIX.1-2001
but _XOPEN_SOURCE says POSIX.1-2008).

Additionally, there is one special case in render/vulkan/vulkan.c.
That file needs major()/minor(), and these are system-specific.
On FreeBSD, _POSIX_C_SOURCE hides system-specific symbols so we need
to make sure it's not defined for this file. On Linux, we can
explicitly include &lt;sys/sysmacros.h&gt; and ensure that apart from
symbols defined there the file only uses POSIX toys.
</content>
</entry>
<entry>
<title>util/log: drop unnecessary _XOPEN_SOURCE</title>
<updated>2024-02-15T14:20:14+00:00</updated>
<author>
<name>Simon Ser</name>
<email>contact@emersion.fr</email>
</author>
<published>2024-02-15T14:20:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=efa706b76902f50582c46b5b9f730696d04801b0'/>
<id>urn:sha1:efa706b76902f50582c46b5b9f730696d04801b0</id>
<content type='text'>
snprintf() is actually ISO C99.

We still need POSIX for clock_gettime().
</content>
</entry>
<entry>
<title>util/transform: add wlr_output_transform_coords()</title>
<updated>2023-11-23T10:07:34+00:00</updated>
<author>
<name>Simon Ser</name>
<email>contact@emersion.fr</email>
</author>
<published>2023-05-03T10:36:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=2eb225236eb72f27beec921e9f37ddf58e874fba'/>
<id>urn:sha1:2eb225236eb72f27beec921e9f37ddf58e874fba</id>
<content type='text'>
We hand-roll this in multiple places.
</content>
</entry>
<entry>
<title>util/transform: move over wl_output_transform helpers</title>
<updated>2023-11-23T10:03:57+00:00</updated>
<author>
<name>Simon Ser</name>
<email>contact@emersion.fr</email>
</author>
<published>2023-05-03T10:32:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=9e702e9cfe73f5aae665b5847cf470e66714e64a'/>
<id>urn:sha1:9e702e9cfe73f5aae665b5847cf470e66714e64a</id>
<content type='text'>
These aren't really tied to wlr_output.
</content>
</entry>
<entry>
<title>xdg-toplevel: check that title provided actually is UTF-8</title>
<updated>2023-11-22T19:03:00+00:00</updated>
<author>
<name>Manuel Stoeckl</name>
<email>code@mstoeckl.com</email>
</author>
<published>2023-11-11T21:55:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=a3d22dbe972770f84ae71f7080fb7bc676c2ba7a'/>
<id>urn:sha1:a3d22dbe972770f84ae71f7080fb7bc676c2ba7a</id>
<content type='text'>
While the xdg-shell protocol requires this, it does not yet have
a dedicated error code for invalid titles; this commit makes
wlroots send a generic error instead.
</content>
</entry>
<entry>
<title>util/token: rename TOKEN_STRLEN to TOKEN_SIZE</title>
<updated>2023-10-26T16:30:12+00:00</updated>
<author>
<name>Simon Ser</name>
<email>contact@emersion.fr</email>
</author>
<published>2023-10-06T14:08:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=55be74ad862d08d88efc2d07e8c66ce560bb8b8b'/>
<id>urn:sha1:55be74ad862d08d88efc2d07e8c66ce560bb8b8b</id>
<content type='text'>
TOKEN_STRLEN is not actually the strlen() of the token. It's the
size taken by the token included the final zero byte.

Change the name to make this clearer, and remove unnecessary +1's.
</content>
</entry>
<entry>
<title>util/addon: make wlr_addon_set_finish() safer</title>
<updated>2023-10-08T11:06:09+00:00</updated>
<author>
<name>Kirill Primak</name>
<email>vyivel@eclair.cafe</email>
</author>
<published>2023-10-08T10:21:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=2c33a1c2de1a675d84ede6b0d751cb28abeb7e44'/>
<id>urn:sha1:2c33a1c2de1a675d84ede6b0d751cb28abeb7e44</id>
<content type='text'>
wl_list_for_each_safe() breaks if an item immediately after the current
one is removed, see
https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4358#note_2106260.
</content>
</entry>
<entry>
<title>util: add struct to track union of rectangles</title>
<updated>2023-10-05T11:45:32+00:00</updated>
<author>
<name>Manuel Stoeckl</name>
<email>code@mstoeckl.com</email>
</author>
<published>2023-10-01T20:25:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=d180f4d9b3fab72ff1bad881c91b004c905299c3'/>
<id>urn:sha1:d180f4d9b3fab72ff1bad881c91b004c905299c3</id>
<content type='text'>
The new struct rect_union is designed to make it easier to
efficiently accumulate a list of rectangles, and then operate
on an exact cover of their union.

Using rect_union, the times needed to added t rectangles, and then
compute their exact cover will be O(t), and something between Ω(t) and
O(t^2), depending on the rectangle arrangement. If one tries to do
the same by storing a pixman_region32_t and updating it with
pixman_region32_union_rect(), then total time needed would be between
Ω(t^2) and O(t^3), depending on the input. Without changing the public
API (data structure + rectangle ordering rules) for pixman_region32_t,
it is impossible to improve its worst case time.
</content>
</entry>
<entry>
<title>Use struct initializers instead of memset()</title>
<updated>2023-07-07T15:31:11+00:00</updated>
<author>
<name>Simon Ser</name>
<email>contact@emersion.fr</email>
</author>
<published>2023-07-07T12:34:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=7a9f8d8d6bf72fcea210552b7bec9b99f342f857'/>
<id>urn:sha1:7a9f8d8d6bf72fcea210552b7bec9b99f342f857</id>
<content type='text'>
This is a bit more type-safe.
</content>
</entry>
<entry>
<title>util/log: fix buffer overflow</title>
<updated>2023-06-29T12:58:56+00:00</updated>
<author>
<name>Evyatar Stalinsky</name>
<email>evyatar@stalinsky.xyz</email>
</author>
<published>2023-06-29T12:58:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vlhl.dev/navi/wayland/wlroots.git/commit/?id=21e96c459d75b81216c4047d9ec418985d0f0e00'/>
<id>urn:sha1:21e96c459d75b81216c4047d9ec418985d0f0e00</id>
<content type='text'>
</content>
</entry>
</feed>
