Caused problems where applications defined common datatypes etc. in an #included "common" IDL file; the toplevel module would be first seen in an include file, inhibited, and would remain inhibited even after a module with non-inhibited contents was merged in.
This changeset is, where not considered trivial, licensed under GNU LGPL v2-or-later. Signed-off-by: Kalle A. Sandstrom <[email protected]> --- parser.y | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/parser.y b/parser.y index 977ffa3..f484825 100644 --- a/parser.y +++ b/parser.y @@ -387,6 +387,16 @@ module: module_declspec module = IDL_NODE_UP ($2); IDL_MODULE (module).definition_list = IDL_list_concat (IDL_MODULE (module).definition_list, $5); + if(!IS_INHIBIT_STATE() + && (module->declspec & IDLF_DECLSPEC_INHIBIT)) + { + /* un-inhibit the module, as it now has + * non-inhibited content which shouldn't + * disappear in the optimization stage. + */ + module->declspec &= ~IDLF_DECLSPEC_INHIBIT; + } + module = NULL; } } else -- 1.6.5.2 _______________________________________________ orbit-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/orbit-list
