<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/mutter.git, branch wip/carlosg/keymap-updates</title>
<subtitle>gitlab.gnome.org: GNOME/mutter.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mutter.git/'/>
<entry>
<title>backends/native: Update keymap state on latched modifier updates</title>
<updated>2021-01-21T14:35:06+00:00</updated>
<author>
<name>Carlos Garnacho</name>
<email>carlosg@gnome.org</email>
</author>
<published>2021-01-21T14:15:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mutter.git/commit/?id=d43f95703d3967d6a374967a81a7f022bbbf1698'/>
<id>d43f95703d3967d6a374967a81a7f022bbbf1698</id>
<content type='text'>
The input thread refactors missed to update the MetaKeymapNative state when
the keys that trigger the latched modifiers are being pressed. Let that happen
here.

Part-of: &lt;https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1679&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The input thread refactors missed to update the MetaKeymapNative state when
the keys that trigger the latched modifiers are being pressed. Let that happen
here.

Part-of: &lt;https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1679&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>xwayland: Do not rely on X-lock files</title>
<updated>2021-01-21T11:57:07+00:00</updated>
<author>
<name>Olivier Fourdan</name>
<email>ofourdan@redhat.com</email>
</author>
<published>2021-01-14T08:56:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mutter.git/commit/?id=eb06d9e16514e452e05acbd2173552820075588f'/>
<id>eb06d9e16514e452e05acbd2173552820075588f</id>
<content type='text'>
Some X11 servers may not always create a lock file, yet mutter uses the
lock file to find a possible display number and then tries to bind to
the socket corresponding to that display number.

If it fails to bind, it will simply bail out. As a result, if an X11
server is already listening on that display but hadn't created a lock
file, mutter won't be able to start Xwayland.

To avoid that possible issue, make mutter retry with another display
for a given number of tries when binding fails even though the display
was supposed to be available based on the lock file presence.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1604
Part-of: &lt;https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1669&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some X11 servers may not always create a lock file, yet mutter uses the
lock file to find a possible display number and then tries to bind to
the socket corresponding to that display number.

If it fails to bind, it will simply bail out. As a result, if an X11
server is already listening on that display but hadn't created a lock
file, mutter won't be able to start Xwayland.

To avoid that possible issue, make mutter retry with another display
for a given number of tries when binding fails even though the display
was supposed to be available based on the lock file presence.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1604
Part-of: &lt;https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1669&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>xwayland: Check for X11 unix directory only once</title>
<updated>2021-01-21T07:48:39+00:00</updated>
<author>
<name>Olivier Fourdan</name>
<email>ofourdan@redhat.com</email>
</author>
<published>2021-01-13T17:28:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mutter.git/commit/?id=f6b4665b02fb295b0ca034766eb9075da5f17b8e'/>
<id>f6b4665b02fb295b0ca034766eb9075da5f17b8e</id>
<content type='text'>
The function choose_xdisplay() calls open_display_sockets() which calls
ensure_x11_unix_dir().

We don't need to do that from within the loop though, as the directory
/tmp/.X11-unix is the same regardless of the display number.

Move the call to ensure_x11_unix_dir() from open_display_sockets() to
choose_xdisplay() prior to enter the display loop.

Part-of: &lt;https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1669&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The function choose_xdisplay() calls open_display_sockets() which calls
ensure_x11_unix_dir().

We don't need to do that from within the loop though, as the directory
/tmp/.X11-unix is the same regardless of the display number.

Move the call to ensure_x11_unix_dir() from open_display_sockets() to
choose_xdisplay() prior to enter the display loop.

Part-of: &lt;https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1669&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>xwayland: Propagate error if display sockets failed</title>
<updated>2021-01-21T07:48:39+00:00</updated>
<author>
<name>Olivier Fourdan</name>
<email>ofourdan@redhat.com</email>
</author>
<published>2021-01-13T17:25:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mutter.git/commit/?id=1bd42e8779bbdcb5100d69f90309f48dfe3794cd'/>
<id>1bd42e8779bbdcb5100d69f90309f48dfe3794cd</id>
<content type='text'>
In case of failure to open the display sockets, we would not propagatre
the error which can cause a crash when trying to show the error message.

Properly propagate the error to avoid the crash.

Part-of: &lt;https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1669&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In case of failure to open the display sockets, we would not propagatre
the error which can cause a crash when trying to show the error message.

Properly propagate the error to avoid the crash.

Part-of: &lt;https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1669&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>xwayland: Start Xwayland on connection to either public X11 socket</title>
<updated>2021-01-21T07:48:39+00:00</updated>
<author>
<name>James Henstridge</name>
<email>james@jamesh.id.au</email>
</author>
<published>2020-10-17T04:01:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mutter.git/commit/?id=063db30c50bded75a286057d42d3c1e79db6a3f8'/>
<id>063db30c50bded75a286057d42d3c1e79db6a3f8</id>
<content type='text'>
Fixes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1454
(cherry picked from commit 7b2815077fa1053069e00c0a21b2c3038f4b0d1c)

Part-of: &lt;https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1669&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1454
(cherry picked from commit 7b2815077fa1053069e00c0a21b2c3038f4b0d1c)

Part-of: &lt;https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1669&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "wayland: Drop Xwayland abstract socket"</title>
<updated>2021-01-21T07:48:39+00:00</updated>
<author>
<name>James Henstridge</name>
<email>james@jamesh.id.au</email>
</author>
<published>2020-10-17T03:50:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mutter.git/commit/?id=df4b6d4ca5de713746f33a5b4c7beec9d0da9c8d'/>
<id>df4b6d4ca5de713746f33a5b4c7beec9d0da9c8d</id>
<content type='text'>
This reverts commit e2123768f635ee892702c8c515cf987261ba5518.  Various
container/chroot (e.g. Snaps, pressure-vessel) systems still depend on
the presence of the abstract X11 socket.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1613
(cherry picked from commit ea2192c4899ac7897efca31e8e85c157895950ac)

Part-of: &lt;https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1669&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit e2123768f635ee892702c8c515cf987261ba5518.  Various
container/chroot (e.g. Snaps, pressure-vessel) systems still depend on
the presence of the abstract X11 socket.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1613
(cherry picked from commit ea2192c4899ac7897efca31e8e85c157895950ac)

Part-of: &lt;https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1669&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>wayland: Handle forced Xwayland shutdown elegantly</title>
<updated>2021-01-20T15:55:08+00:00</updated>
<author>
<name>Carlos Garnacho</name>
<email>carlosg@gnome.org</email>
</author>
<published>2021-01-20T15:55:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mutter.git/commit/?id=567188877562c6aeb89cc82c7338cf53eedd8982'/>
<id>567188877562c6aeb89cc82c7338cf53eedd8982</id>
<content type='text'>
In the shutdown paths we check with the X11 display whether there's
remaining clients. However this happens in paths that happen after
the MetaX11Display vanished in the case of Xwayland crash.

Since in that situation the clients are forcibly vanishing too,
skip the client check.

Part-of: &lt;https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1677&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In the shutdown paths we check with the X11 display whether there's
remaining clients. However this happens in paths that happen after
the MetaX11Display vanished in the case of Xwayland crash.

Since in that situation the clients are forcibly vanishing too,
skip the client check.

Part-of: &lt;https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1677&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Update Portuguese translation</title>
<updated>2021-01-20T11:50:55+00:00</updated>
<author>
<name>Hugo Carvalho</name>
<email>hugokarvalho@hotmail.com</email>
</author>
<published>2021-01-20T11:50:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mutter.git/commit/?id=9c71e208bd1f2184251b654c4b7501a00c46dc4d'/>
<id>9c71e208bd1f2184251b654c4b7501a00c46dc4d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>backend/native: Destroy logind helper after seat</title>
<updated>2021-01-19T21:54:32+00:00</updated>
<author>
<name>Jonas Ådahl</name>
<email>jadahl@gmail.com</email>
</author>
<published>2021-01-15T09:26:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mutter.git/commit/?id=1c6dd7f30a4ce1dd5b022af0f7aca8b73724a6fb'/>
<id>1c6dd7f30a4ce1dd5b022af0f7aca8b73724a6fb</id>
<content type='text'>
Otherwise we don't actually close input devices using it, since that
would happen after meta_launcher_free() was called.

Part-of: &lt;https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1670&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Otherwise we don't actually close input devices using it, since that
would happen after meta_launcher_free() was called.

Part-of: &lt;https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1670&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>backend: Tear down in dispose() instead of finalize()</title>
<updated>2021-01-19T21:54:32+00:00</updated>
<author>
<name>Jonas Ådahl</name>
<email>jadahl@gmail.com</email>
</author>
<published>2021-01-19T21:14:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/mutter.git/commit/?id=db6bf9d14e279f99e6fbcd99b5ee9379d0685e03'/>
<id>db6bf9d14e279f99e6fbcd99b5ee9379d0685e03</id>
<content type='text'>
This means backend implementations can have more control of the order of
how things are destroyed. To be precise, this will, in the next commit,
allow us to destroy the logind integration after the clutter backend
thus the libinput owning seat, that uses the logind integration to
release input devices.

Part-of: &lt;https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1670&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This means backend implementations can have more control of the order of
how things are destroyed. To be precise, this will, in the next commit,
allow us to destroy the logind integration after the clutter backend
thus the libinput owning seat, that uses the logind integration to
release input devices.

Part-of: &lt;https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1670&gt;
</pre>
</div>
</content>
</entry>
</feed>
