Rockbox

This is the bug/patch tracker for Rockbox. Click here for more information.

Quick links: Bugs · Patches · Rockbox frontpage

Tasklist

FS#10576 - move sub/lines to skin buffer

Attached to Project: Rockbox
Opened by Jonathan Gordon (jdgordon) - Monday, 31 August 2009, 02:27 GMT+2
Last edited by Jonathan Gordon (jdgordon) - Wednesday, 02 September 2009, 05:59 GMT+2
Task Type Patches
Category Themes
Status Closed
Assigned To No-one
Player Type All players
Severity Low
Priority Normal
Reported Version Version 3.3
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Private No

Details

this patch seems to "work", but the debug output just looks very wrong.. also it crashes the sim if --debugwps is enabled...

(gdb) p *v->lines->next->sublines
$8 = {first_token_idx = 4, last_token_idx = 3, line_type = 0 '\0',
time_mult = 0 '\0', next = 0x0}

^ see anything wrong there? how can last be before first?!... I'm hoping another set of eyes will have an idea where its screwed up
   sublines.diff (24.4 KiB)
 apps/gui/skin_engine/wps_debug.c     |   18 +--
 apps/gui/skin_engine/skin_parser.c   |  138 ++++++++++++++++++--------
 apps/gui/skin_engine/skin_display.c  |  180 ++++++++++++-----------------------
 apps/gui/skin_engine/wps_internals.h |   36 ++-----
 4 files changed, 175 insertions(+), 197 deletions(-)

This task depends upon

Closed by  Jonathan Gordon (jdgordon)
Wednesday, 02 September 2009, 05:59 GMT+2
Reason for closing:  Accepted
Comment by Jonathan Gordon (jdgordon) - Monday, 31 August 2009, 17:41 GMT+2
forgot to update this before going to bed...
its slightly better but apparently crashes the ipod....

the wierd stuff with the token numbers above is because for blank new lines, the \n isnt stored as a token, so special handling is needed (not added yet)
   sublines.diff (24.5 KiB)
 apps/gui/skin_engine/wps_debug.c     |   22 +---
 apps/gui/skin_engine/skin_parser.c   |  130 ++++++++++++++++---------
 apps/gui/skin_engine/skin_display.c  |  180 ++++++++++++-----------------------
 apps/gui/skin_engine/wps_internals.h |   37 ++-----
 4 files changed, 172 insertions(+), 197 deletions(-)

Comment by Jonathan Gordon (jdgordon) - Tuesday, 01 September 2009, 03:08 GMT+2
updated to add some special handling for empty lines
   sublines.diff (25.3 KiB)
 apps/gui/skin_engine/wps_debug.c     |   22 +---
 apps/gui/skin_engine/skin_parser.c   |  136 ++++++++++++++++++--------
 apps/gui/skin_engine/skin_tokens.c   |    2 
 apps/gui/skin_engine/skin_display.c  |  180 ++++++++++++-----------------------
 apps/gui/skin_engine/wps_internals.h |   37 ++-----
 5 files changed, 180 insertions(+), 197 deletions(-)

Comment by Jonathan Gordon (jdgordon) - Tuesday, 01 September 2009, 09:00 GMT+2
probably a lost cause but anyway.... somehow curr_line is getting set to 0x1 or some other similarly stupid value during parseing... I havnt figured out where or why or how though :( an internets to the person who figures it out!
Comment by Jonathan Gordon (jdgordon) - Tuesday, 01 September 2009, 09:52 GMT+2
All glory to funman for figuring it out :D
apparently there is still an isue to figure out though :/
   sublines.diff (25.3 KiB)
 apps/gui/skin_engine/wps_debug.c     |   22 +---
 apps/gui/skin_engine/skin_parser.c   |  136 ++++++++++++++++++--------
 apps/gui/skin_engine/skin_tokens.c   |    2 
 apps/gui/skin_engine/skin_display.c  |  180 ++++++++++++-----------------------
 apps/gui/skin_engine/wps_internals.h |   37 ++-----
 5 files changed, 180 insertions(+), 197 deletions(-)

Comment by Jonathan Gordon (jdgordon) - Wednesday, 02 September 2009, 02:41 GMT+2
I'm not memset()ing the newly alloc buffers to 0's which unfortunatly hides the real issue, but makes it work...
   sublines.diff (25.8 KiB)
 apps/gui/skin_engine/wps_debug.c     |   22 +---
 apps/gui/skin_engine/skin_parser.c   |  136 ++++++++++++++++++--------
 apps/gui/skin_engine/skin_tokens.c   |    2 
 apps/gui/skin_engine/skin_display.c  |  180 ++++++++++++-----------------------
 apps/gui/skin_engine/wps_internals.h |   37 ++-----
 apps/gui/skin_engine/skin_buffer.c   |    2 
 6 files changed, 182 insertions(+), 197 deletions(-)

Loading...