summaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorRobert Bieber <robby@bieberphoto.com>2010-06-02 06:52:17 +0000
committerRobert Bieber <robby@bieberphoto.com>2010-06-02 06:52:17 +0000
commitea864be7082cbe2d1a9d4f5b1e809feacb1d1aaf (patch)
treed2623300a5866742a05ceee4a5675959f580c812 /utils
parente25c903bfecd78aac3a8f01aa8e75dc39e42df34 (diff)
downloadrockbox-ea864be7082cbe2d1a9d4f5b1e809feacb1d1aaf.tar.gz
rockbox-ea864be7082cbe2d1a9d4f5b1e809feacb1d1aaf.tar.bz2
rockbox-ea864be7082cbe2d1a9d4f5b1e809feacb1d1aaf.zip
Fixed another code generation bug with viewports and enabled negative numbers in tag parameters
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26465 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'utils')
-rw-r--r--utils/themeeditor/parsetreenode.cpp5
-rw-r--r--utils/themeeditor/skin_parser.c4
-rw-r--r--utils/themeeditor/skin_scan.c2
3 files changed, 6 insertions, 5 deletions
diff --git a/utils/themeeditor/parsetreenode.cpp b/utils/themeeditor/parsetreenode.cpp
index 63555ae616..3a5a63dcee 100644
--- a/utils/themeeditor/parsetreenode.cpp
+++ b/utils/themeeditor/parsetreenode.cpp
@@ -97,9 +97,10 @@ QString ParseTreeNode::genCode() const
{
case VIEWPORT:
+ if(children[0]->element->type == TAG)
+ buffer.append(TAGSYM);
buffer.append(children[0]->genCode());
- if(!children[0]->isParam()
- && children[0]->getElement()->type == TAG)
+ if(children[0]->element->type == TAG)
buffer.append('\n');
for(int i = 1; i < children.count(); i++)
buffer.append(children[i]->genCode());
diff --git a/utils/themeeditor/skin_parser.c b/utils/themeeditor/skin_parser.c
index 347d675b55..deb3a21ab2 100644
--- a/utils/themeeditor/skin_parser.c
+++ b/utils/themeeditor/skin_parser.c
@@ -481,7 +481,7 @@ int skin_parse_tag(struct skin_element* element, char** document)
element->params[i].type_code = *tag_args;
/* Checking a nullable argument for null */
- if(*cursor == DEFAULTSYM)
+ if(*cursor == DEFAULTSYM && !isdigit(cursor[1]))
{
if(islower(*tag_args))
{
@@ -497,7 +497,7 @@ int skin_parse_tag(struct skin_element* element, char** document)
else if(tolower(*tag_args) == 'i')
{
/* Scanning an int argument */
- if(!isdigit(*cursor))
+ if(!isdigit(*cursor) && *cursor != '-')
{
skin_error(INT_EXPECTED);
return 0;
diff --git a/utils/themeeditor/skin_scan.c b/utils/themeeditor/skin_scan.c
index 28d097125a..599683db54 100644
--- a/utils/themeeditor/skin_scan.c
+++ b/utils/themeeditor/skin_scan.c
@@ -107,7 +107,7 @@ int scan_int(char** document)
int retval;
int i;
- while(isdigit(*cursor) || *cursor == COMMENTSYM)
+ while(isdigit(*cursor) || *cursor == COMMENTSYM || *cursor == '-')
{
if(*cursor == COMMENTSYM)
{