summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2010-06-08 07:24:42 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2010-06-08 07:24:42 +0000
commitfa99c614b90c17c79f75b54a68e311324eda4184 (patch)
tree6d05551295385eebd802ca156cbf7bf83b078fdf
parent67277f16888598ab211ad0f84cbfe490effbc9e1 (diff)
downloadrockbox-fa99c614b90c17c79f75b54a68e311324eda4184.tar.gz
rockbox-fa99c614b90c17c79f75b54a68e311324eda4184.zip
hopefully fix the problem with lines in viewports being pushed down one line.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26682 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/gui/skin_engine/skin_display.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/apps/gui/skin_engine/skin_display.c b/apps/gui/skin_engine/skin_display.c
index 6759521473..3d3a654c30 100644
--- a/apps/gui/skin_engine/skin_display.c
+++ b/apps/gui/skin_engine/skin_display.c
@@ -1272,7 +1272,10 @@ static bool skin_redraw(struct gui_wps *gwps, unsigned refresh_mode)
/* loop over the lines for this viewport */
struct skin_line *line;
- int line_count = 0;
+ /* %V() doesnt eat the \n which means the first line of text
+ * is actually going to be one line down. so set line_count to -1
+ * unless we are using the default viewport which doesnt have this problem */
+ int line_count = skin_viewport->label==VP_DEFAULT_LABEL?0:-1;
for (line = skin_viewport->lines; line; line = line->next, line_count++)
{
@@ -1332,7 +1335,7 @@ static bool skin_redraw(struct gui_wps *gwps, unsigned refresh_mode)
}
#endif
- if (update_line && !hidden_vp &&
+ if (line_count>= 0 && update_line && !hidden_vp &&
/* conditionals clear the line which means if the %Vd is put into the default
viewport there will be a blank line.
To get around this we dont allow any actual drawing to happen in the