edje_cc: fix parsing error when some keywords are used as part name

Summary:
Some keywords cause parsing error when they are used as part name.
For example,
   group { "some_group";
      parts {
         box { "box";
         }
      }
   }
The part name "box" should be processed by wildcard handler,
but this is pushed into stack. (collections.group.parts.part.box ...)
This patch pushes token into stack only when it doesn't have quotes.

@fix

Reviewers: cedric, raster, jpeg

Reviewed By: jpeg

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D3841
This commit is contained in:
Jee-Yong Um 2016-03-29 17:35:04 +09:00 committed by Jean-Philippe Andre
parent 32c136d84c
commit e260f23c94
1 changed files with 7 additions and 4 deletions

View File

@ -185,14 +185,17 @@ static void
new_object(void)
{
const char *id;
New_Object_Handler *oh;
New_Object_Handler *oh = NULL;
New_Statement_Handler *sh;
fill_object_statement_hashes();
id = stack_id();
oh = eina_hash_find(_new_object_hash, id);
if (!oh)
oh = eina_hash_find(_new_object_short_hash, id);
if (!had_quote)
{
oh = eina_hash_find(_new_object_hash, id);
if (!oh)
oh = eina_hash_find(_new_object_short_hash, id);
}
if (oh)
{
if (oh->func) oh->func();