From fffa14eb1a6eec85d054c8075635413d2e7d8743 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Thu, 22 Jan 2026 09:28:08 -0800 Subject: [PATCH] Call dbus_message_set_no_reply() when not expecting a reply --- src/core/linux/SDL_dbus.c | 2 ++ src/core/linux/SDL_dbus.h | 1 + 2 files changed, 3 insertions(+) diff --git a/src/core/linux/SDL_dbus.c b/src/core/linux/SDL_dbus.c index 3b7aa3682f..2d083e8f29 100644 --- a/src/core/linux/SDL_dbus.c +++ b/src/core/linux/SDL_dbus.c @@ -78,6 +78,7 @@ static bool LoadDBUSSyms(void) SDL_DBUS_SYM(dbus_bool_t (*)(DBusMessage *, const char *), message_has_path); SDL_DBUS_SYM(DBusMessage *(*)(const char *, const char *, const char *, const char *), message_new_method_call); SDL_DBUS_SYM(DBusMessage *(*)(const char *, const char *, const char *), message_new_signal); + SDL_DBUS_SYM(void (*)(DBusMessage *, dbus_bool_t), message_set_no_reply); SDL_DBUS_SYM(dbus_bool_t (*)(DBusMessage *, int, ...), message_append_args); SDL_DBUS_SYM(dbus_bool_t (*)(DBusMessage *, int, va_list), message_append_args_valist); SDL_DBUS_SYM(void (*)(DBusMessage *, DBusMessageIter *), message_iter_init_append); @@ -306,6 +307,7 @@ static bool SDL_DBus_CallVoidMethodInternal(DBusConnection *conn, const char *no if (msg) { int firstarg = va_arg(ap, int); if ((firstarg == DBUS_TYPE_INVALID) || dbus.message_append_args_valist(msg, firstarg, ap)) { + dbus.message_set_no_reply(msg, true); if (dbus.connection_send(conn, msg, NULL)) { dbus.connection_flush(conn); result = true; diff --git a/src/core/linux/SDL_dbus.h b/src/core/linux/SDL_dbus.h index 83b11367c0..e6f81b48ac 100644 --- a/src/core/linux/SDL_dbus.h +++ b/src/core/linux/SDL_dbus.h @@ -69,6 +69,7 @@ typedef struct SDL_DBusContext dbus_bool_t (*message_has_path)(DBusMessage *, const char *); DBusMessage *(*message_new_method_call)(const char *, const char *, const char *, const char *); DBusMessage *(*message_new_signal)(const char *, const char *, const char *); + void (*message_set_no_reply)(DBusMessage *, dbus_bool_t); dbus_bool_t (*message_append_args)(DBusMessage *, int, ...); dbus_bool_t (*message_append_args_valist)(DBusMessage *, int, va_list); void (*message_iter_init_append)(DBusMessage *, DBusMessageIter *);