From: Jürg Billeter Date: Tue, 9 Mar 2010 10:51:21 +0000 (+0100) Subject: Fix constants used in multiple source files X-Git-Tag: 0.8.0~227 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3f158af25a29646c5d5feffa0136bcba8b966a53;p=thirdparty%2Fvala.git Fix constants used in multiple source files Fixes bug 611246. --- diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala index 52b0eeffe..5667156b9 100644 --- a/codegen/valaccodebasemodule.vala +++ b/codegen/valaccodebasemodule.vala @@ -894,7 +894,7 @@ internal class Vala.CCodeBaseModule : CCodeModule { } } - public void generate_constant_declaration (Constant c, CCodeDeclarationSpace decl_space) { + public void generate_constant_declaration (Constant c, CCodeDeclarationSpace decl_space, bool definition = false) { if (decl_space.add_symbol_declaration (c, c.get_cname ())) { return; } @@ -912,7 +912,7 @@ internal class Vala.CCodeBaseModule : CCodeModule { } var cinitializer = (CCodeExpression) c.initializer.ccodenode; - if (decl_space != source_declarations) { + if (!definition) { // never output value in header // special case needed as this method combines declaration and definition cinitializer = null; @@ -934,7 +934,7 @@ internal class Vala.CCodeBaseModule : CCodeModule { } public override void visit_constant (Constant c) { - generate_constant_declaration (c, source_declarations); + generate_constant_declaration (c, source_declarations, true); if (!c.is_internal_symbol ()) { generate_constant_declaration (c, header_declarations);