diff options
| author | Arseney300 <Arseney300@gmail.com> | 2026-09-01 02:03:58 +0700 |
|---|---|---|
| committer | Arseney300 <Arseney300@gmail.com> | 2026-09-01 02:03:58 +0700 |
| commit | fba737c83f636d66a184e4773da304d6710de004 (patch) | |
| tree | 629a41730130df35c6537df9151ef9a450f99c64 /src/nautilus-application.c | |
| parent | 8aad3eda343f0818bc014516cf695668d7e295c3 (diff) | |
application: Disable all portals instead of just FileChooserfeature/allow_root
gtk_disable_portal_interfaces() (the non-NULL implemented_interfaces
path in gxdp_init_gtk) crashes inside the subsequent gtk_init_check()
on GTK 4.22.3 with a NULL-pointer read in g_str_hash(), reproduced
in isolation with a standalone gtk_disable_portal_interfaces() +
gtk_init_check() program. gtk_disable_portals() (triggered by passing
NULL here) does not hit this path. Disable all portals as a
workaround until the upstream GTK bug is fixed.
Diffstat (limited to 'src/nautilus-application.c')
| -rw-r--r-- | src/nautilus-application.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/nautilus-application.c b/src/nautilus-application.c index b2e8156df..cf340dedf 100644 --- a/src/nautilus-application.c +++ b/src/nautilus-application.c @@ -1051,8 +1051,12 @@ nautilus_application_startup (GApplication *app) * it during the chain-up. */ g_autoptr (GError) error = NULL; + /* gtk_disable_portal_interfaces() (used when passing a non-NULL interface + * list here) crashes inside gtk_init_check() on GTK 4.22.3 due to an + * upstream GTK bug; gtk_disable_portals() (the NULL/"disable all" path) + * does not. Disable all portals until that GTK bug is fixed. */ gxdp_init_gtk (GXDP_SERVICE_CLIENT_TYPE_FILE_CHOOSER, - (const char *[]) { "org.freedesktop.portal.FileChooser", NULL }, + NULL, &error); /* Remove environment variable that disables libadwaita portal use until it * is fixed in libgxdp */ |
