summaryrefslogtreecommitdiff
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
parente25c903bfecd78aac3a8f01aa8e75dc39e42df34 (diff)
downloadrockbox-ea864be7082cbe2d1a9d4f5b1e809feacb1d1aaf.tar.gz
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
-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
97 { 97 {
98 98
99 case VIEWPORT: 99 case VIEWPORT:
100 if(children[0]->element->type == TAG)
101 buffer.append(TAGSYM);
100 buffer.append(children[0]->genCode()); 102 buffer.append(children[0]->genCode());
101 if(!children[0]->isParam() 103 if(children[0]->element->type == TAG)
102 && children[0]->getElement()->type == TAG)
103 buffer.append('\n'); 104 buffer.append('\n');
104 for(int i = 1; i < children.count(); i++) 105 for(int i = 1; i < children.count(); i++)
105 buffer.append(children[i]->genCode()); 106 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)
481 element->params[i].type_code = *tag_args; 481 element->params[i].type_code = *tag_args;
482 482
483 /* Checking a nullable argument for null */ 483 /* Checking a nullable argument for null */
484 if(*cursor == DEFAULTSYM) 484 if(*cursor == DEFAULTSYM && !isdigit(cursor[1]))
485 { 485 {
486 if(islower(*tag_args)) 486 if(islower(*tag_args))
487 { 487 {
@@ -497,7 +497,7 @@ int skin_parse_tag(struct skin_element* element, char** document)
497 else if(tolower(*tag_args) == 'i') 497 else if(tolower(*tag_args) == 'i')
498 { 498 {
499 /* Scanning an int argument */ 499 /* Scanning an int argument */
500 if(!isdigit(*cursor)) 500 if(!isdigit(*cursor) && *cursor != '-')
501 { 501 {
502 skin_error(INT_EXPECTED); 502 skin_error(INT_EXPECTED);
503 return 0; 503 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)
107 int retval; 107 int retval;
108 int i; 108 int i;
109 109
110 while(isdigit(*cursor) || *cursor == COMMENTSYM) 110 while(isdigit(*cursor) || *cursor == COMMENTSYM || *cursor == '-')
111 { 111 {
112 if(*cursor == COMMENTSYM) 112 if(*cursor == COMMENTSYM)
113 { 113 {