From: Jürg Billeter Date: Fri, 26 Mar 2010 16:58:10 +0000 (+0100) Subject: D-Bus: Fix criticals when using generic errors X-Git-Tag: 0.8.0~30 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f1428b098a2097b269e2dfefae590e3453264594;p=thirdparty%2Fvala.git D-Bus: Fix criticals when using generic errors --- diff --git a/codegen/valadbusclientmodule.vala b/codegen/valadbusclientmodule.vala index 7d4e4c11b..18c78f80e 100644 --- a/codegen/valadbusclientmodule.vala +++ b/codegen/valadbusclientmodule.vala @@ -1841,6 +1841,11 @@ internal class Vala.DBusClientModule : DBusModule { foreach (DataType error_type in error_types) { var edomain = ((ErrorType) error_type).error_domain; + if (edomain == null) { + Report.error (error_type.source_reference, "Generic errors cannot be serialized over DBus"); + continue; + } + var edomain_dbus_name = get_dbus_name (edomain); if (edomain_dbus_name == null) { Report.error (edomain.source_reference, "Errordomain must have a DBus.name annotation to be serialized over DBus"); diff --git a/codegen/valadbusservermodule.vala b/codegen/valadbusservermodule.vala index 64de305af..1b7a28ead 100644 --- a/codegen/valadbusservermodule.vala +++ b/codegen/valadbusservermodule.vala @@ -432,6 +432,11 @@ internal class Vala.DBusServerModule : DBusClientModule { foreach (DataType error_type in error_types) { var edomain = ((ErrorType) error_type).error_domain; + if (edomain == null) { + Report.error (error_type.source_reference, "Generic errors cannot be serialized over DBus"); + continue; + } + var edomain_dbus_name = get_dbus_name (edomain); if (edomain_dbus_name == null) { Report.error (edomain.source_reference, "Errordomain must have a DBus.name annotation to be serialized over DBus");