summaryrefslogtreecommitdiff
path: root/codegen/valagdbusservermodule.vala
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2011-01-15 17:50:28 +0100
committerJürg Billeter <j@bitron.ch>2011-01-15 17:50:28 +0100
commit1e68b9ae371c00c89d0893b9c67ad0c00f5b5a28 (patch)
tree71bb45e5fc3241cafeb959dc42679e937ed5d48d /codegen/valagdbusservermodule.vala
parent76738dae7790b249d0599857a5603b392ed85691 (diff)
downloadvala-1e68b9ae371c00c89d0893b9c67ad0c00f5b5a28.tar.gz
D-Bus: Support get_proxy with generic type in GDBus clients
Fixes bug 612517.
Diffstat (limited to 'codegen/valagdbusservermodule.vala')
-rw-r--r--codegen/valagdbusservermodule.vala8
1 files changed, 5 insertions, 3 deletions
diff --git a/codegen/valagdbusservermodule.vala b/codegen/valagdbusservermodule.vala
index c9c7c03f3..c121728b0 100644
--- a/codegen/valagdbusservermodule.vala
+++ b/codegen/valagdbusservermodule.vala
@@ -1323,20 +1323,22 @@ public class Vala.GDBusServerModule : GDBusClientModule {
cfile.add_function (cfunc);
}
- public override void register_dbus_info (ObjectTypeSymbol sym) {
+ public override void register_dbus_info (CCodeBlock block, ObjectTypeSymbol sym) {
string dbus_iface_name = get_dbus_name (sym);
if (dbus_iface_name == null) {
return;
}
+ base.register_dbus_info (block, sym);
+
var quark = new CCodeFunctionCall (new CCodeIdentifier ("g_quark_from_static_string"));
quark.add_argument (new CCodeConstant ("\"vala-dbus-register-object\""));
var set_qdata = new CCodeFunctionCall (new CCodeIdentifier ("g_type_set_qdata"));
- set_qdata.add_argument (new CCodeIdentifier (sym.get_upper_case_cname ("TYPE_")));
+ set_qdata.add_argument (new CCodeIdentifier ("%s_type_id".printf (sym.get_lower_case_cname (null))));
set_qdata.add_argument (quark);
set_qdata.add_argument (new CCodeCastExpression (new CCodeIdentifier (sym.get_lower_case_cprefix () + "register_object"), "void*"));
- ccode.add_expression (set_qdata);
+ block.add_statement (new CCodeExpressionStatement (set_qdata));
}
}