[Swfdec] 3 commits - libswfdec/swfdec_player.c test/trace
Benjamin Otte
company at kemper.freedesktop.org
Mon Nov 12 14:25:57 PST 2007
libswfdec/swfdec_player.c | 18 +--
test/trace/loadvars-decode-5.swf |binary
test/trace/loadvars-decode-5.swf.trace | 182 +++++++++++++++++++++++++++++++++
test/trace/loadvars-decode-6.swf |binary
test/trace/loadvars-decode-6.swf.trace | 182 +++++++++++++++++++++++++++++++++
test/trace/loadvars-decode-7.swf |binary
test/trace/loadvars-decode-7.swf.trace | 182 +++++++++++++++++++++++++++++++++
test/trace/loadvars-decode-8.swf |binary
test/trace/loadvars-decode-8.swf.trace | 182 +++++++++++++++++++++++++++++++++
test/trace/loadvars-decode.as | 43 +++++++
10 files changed, 776 insertions(+), 13 deletions(-)
New commits:
commit 159ca4ea31ae362ad3fa6b7a807dda451b5f0626
Author: Benjamin Otte <otte at gnome.org>
Date: Mon Nov 12 23:25:42 2007 +0100
don't abort after 256 actions in one list, just warn
We seem to hit that limit way more often than the Flash player
diff --git a/libswfdec/swfdec_player.c b/libswfdec/swfdec_player.c
index dc44de2..57f0de4 100644
--- a/libswfdec/swfdec_player.c
+++ b/libswfdec/swfdec_player.c
@@ -367,16 +367,12 @@ swfdec_player_do_add_action (SwfdecPlayer *player, guint importance, SwfdecPlaye
SwfdecPlayerAction *action = swfdec_ring_buffer_push (player->actions[importance]);
if (action == NULL) {
/* try to get rid of freed actions */
- if (swfdec_ring_buffer_get_size (player->actions[importance]) >= 256) {
- swfdec_player_compress_actions (player->actions[importance]);
- action = swfdec_ring_buffer_push (player->actions[importance]);
- /* if it doesn't get smaller, bail */
- if (action == NULL) {
- swfdec_as_context_abort (SWFDEC_AS_CONTEXT (player),
- "256 levels of recursion were exceeded in one action list.");
- return;
+ swfdec_player_compress_actions (player->actions[importance]);
+ action = swfdec_ring_buffer_push (player->actions[importance]);
+ if (action == NULL) {
+ if (swfdec_ring_buffer_get_size (player->actions[importance]) == 256) {
+ SWFDEC_WARNING ("256 levels of recursion were exceeded in one action list.");
}
- } else {
swfdec_ring_buffer_set_size (player->actions[importance],
swfdec_ring_buffer_get_size (player->actions[importance]) + 16);
action = swfdec_ring_buffer_push (player->actions[importance]);
commit 277b21a8b032fc14490b60ec699df470713d812e
Author: Benjamin Otte <otte at gnome.org>
Date: Mon Nov 12 23:20:25 2007 +0100
update test with more encoded strings
diff --git a/test/trace/loadvars-decode-5.swf b/test/trace/loadvars-decode-5.swf
index e692d0b..a00a7f2 100644
Binary files a/test/trace/loadvars-decode-5.swf and b/test/trace/loadvars-decode-5.swf differ
diff --git a/test/trace/loadvars-decode-5.swf.trace b/test/trace/loadvars-decode-5.swf.trace
index 5ee0305..a3fde32 100644
--- a/test/trace/loadvars-decode-5.swf.trace
+++ b/test/trace/loadvars-decode-5.swf.trace
@@ -21,3 +21,185 @@ a =
c =
d = e
decode =
+>>> id=mplayer&javascriptid=mplayer&frontcolor=0xFFFFFF&backcolor=0x000000&enablejs=true&largecontrols=false&file=http://kanal5.se/c/ext/k5video/playlist?selectType=playlist-name%26selectWord=Mazda%26selectType2=playlist-name%26selectWord2=Fraga Olle 1107&bufferlength=6&displayheight=168&height=168&width=225&autostart=false&repeat=list&shuffle=false&overstretch=fit&volume=80&rotatetime=5&showicons=true&bwfile=/html/themes/kanal5/images/100k.jpg&bwstreams=400_400,640_700&useaudio=false&usecaptions=false&usekeys=false&callback=http://kanal5.se/c/ext/k5video/counter&showvolume=true&usefullscreen=true&allowscriptaccess=always
+allowscriptaccess = always
+autostart = false
+backcolor = 0x000000
+bufferlength = 6
+bwfile = /html/themes/kanal5/images/100k.jpg
+bwstreams = 400_400,640_700
+callback = http://kanal5.se/c/ext/k5video/counter
+decode =
+displayheight = 168
+enablejs = true
+file = http://kanal5.se/c/ext/k5video/playlist?selectType=playlist-name&selectWord=Mazda&selectType2=playlist-name&selectWord2=Fraga Olle 1107
+frontcolor = 0xFFFFFF
+height = 168
+id = mplayer
+javascriptid = mplayer
+largecontrols = false
+overstretch = fit
+repeat = list
+rotatetime = 5
+showicons = true
+showvolume = true
+shuffle = false
+useaudio = false
+usecaptions = false
+usefullscreen = true
+usekeys = false
+volume = 80
+width = 225
+>>> 6049
+6049 =
+decode =
+>>> img_id=181477
+decode =
+img_id = 181477
+>>> xmlUrl=http://www.svenskfast.se/Pages/ObjectPicturesXML.aspx?ObjectID=3ELJF2R975UU6KB8
+decode =
+xmlUrl = http://www.svenskfast.se/Pages/ObjectPicturesXML.aspx?ObjectID=3ELJF2R975UU6KB8
+>>> v=1
+decode =
+v = 1
+>>> hl=en&video_id=Ra9tHf5oTGE&l=174&t=OEgsToPDskIiI57FokAGWDU_cVWkk0YQ&sk=jx4HbVzSeNwxQnLPSJ-AeQC&plid=AAQ-wZXLj0LXb-xH&playnext=0
+decode =
+hl = en
+l = 174
+playnext = 0
+plid = AAQ-wZXLj0LXb-xH
+sk = jx4HbVzSeNwxQnLPSJ-AeQC
+t = OEgsToPDskIiI57FokAGWDU_cVWkk0YQ
+video_id = Ra9tHf5oTGE
+>>> ns=yt&plid=AAQ-wZXLj0LXb-xH&vid=jx4HbVzSeNwxQnLPSJ-AeQC&docid=Ra9tHf5oTGE&el=detailpage&et=0.04&fv=WIN%209%2C0%2C100%2C0&nbe=0&st=0.04&rt=3.7&len=174
+decode =
+docid = Ra9tHf5oTGE
+el = detailpage
+et = 0.04
+fv = WIN 9,0,100,0
+len = 174
+nbe = 0
+ns = yt
+plid = AAQ-wZXLj0LXb-xH
+rt = 3.7
+st = 0.04
+vid = jx4HbVzSeNwxQnLPSJ-AeQC
+>>> f=/wps/wcm/resources/file/eb2d284fab2722c/popcorn.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START BANNER BREDBAND', '');}catch(e){;}finally{location.href='/bredband';}
+clickTag = javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START BANNER BREDBAND', '');}catch(e){;}finally{location.href='/bredband';}
+decode =
+f = /wps/wcm/resources/file/eb2d284fab2722c/popcorn.swf
+>>> f=/portal/wcmobject/document/swf/fsecuretavling_puff.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_KAMPANJ FSECURE TAVLING', '');}catch(e){;}finally{location.href='/fsecuretavling';}
+clickTag = javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_KAMPANJ FSECURE TAVLING', '');}catch(e){;}finally{location.href='/fsecuretavling';}
+decode =
+f = /portal/wcmobject/document/swf/fsecuretavling_puff.swf
+>>> f=/wps/wcm/resources/file/ebc66e4b245ddf2/telefoni-puff_new.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF TELEFONI', '');}catch(e){;}finally{location.href='/telefoni';}
+clickTag = javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF TELEFONI', '');}catch(e){;}finally{location.href='/telefoni';}
+decode =
+f = /wps/wcm/resources/file/ebc66e4b245ddf2/telefoni-puff_new.swf
+>>> f=/wps/wcm/resources/file/ebc66c4b2452908/film.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF VOD', '');}catch(e){;}finally{location.href='/portal/redirect/privat/digitaltv?page=new%26WCM_GLOBAL_CONTEXT=/wps/wcm/connect/b2/privat/digitaltv/filmnarduvill';}&rootdir=
+clickTag = javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF VOD', '');}catch(e){;}finally{location.href='/portal/redirect/privat/digitaltv?page=new&WCM_GLOBAL_CONTEXT=/wps/wcm/connect/b2/privat/digitaltv/filmnarduvill';}
+decode =
+f = /wps/wcm/resources/file/ebc66c4b2452908/film.swf
+rootdir =
+>>> f=/wps/wcm/resources/file/ebc66d4b24596b5/sakerhet_puff.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF SAKERHET', '');}catch(e){;}finally{location.href='/sakerhet';}
+clickTag = javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF SAKERHET', '');}catch(e){;}finally{location.href='/sakerhet';}
+decode =
+f = /wps/wcm/resources/file/ebc66d4b24596b5/sakerhet_puff.swf
+>>> lang=en&enforce=0
+decode =
+enforce = 0
+lang = en
+>>> id=22&initView=EU,SE&lang=SV&home=EU,SE&skin=Default
+decode =
+home = EU,SE
+id = 22
+initView = EU,SE
+lang = SV
+skin = Default
+>>> linkUrl=http://www.smhi.se/cmp/jsp/polopoly.jsp?d=5236&l=sv&linkTarget=_top
+decode =
+l = sv
+linkTarget = _top
+linkUrl = http://www.smhi.se/cmp/jsp/polopoly.jsp?d=5236
+>>> txt=<a href=%22asfunction:_root.launchURL,0%22>ADOBE FLASH CS3 PROFESSIONAL</a>&textcolor=#ffffff&hovercolor=#c00c00&linkcolor=#ffffff&w=640&h=28&sifr_url_0=/products/flash/
+decode =
+h = 28
+hovercolor = #c00c00
+linkcolor = #ffffff
+sifr_url_0 = /products/flash/
+textcolor = #ffffff
+txt = <a href="asfunction:_root.launchURL,0">ADOBE FLASH CS3 PROFESSIONAL</a>
+w = 640
+>>> simpleDrapeSwf=http://www.sf.se/sf/component/startplayer/drapeSimple.swf&animDrapeSwf=http://www.sf.se/sf/component/startplayer/drapeAnimation.swf&curl=cycube://internal/document/106364&id=101546&xmlPath=http://www.sf.se/DataProvider
+animDrapeSwf = http://www.sf.se/sf/component/startplayer/drapeAnimation.swf
+curl = cycube://internal/document/106364
+decode =
+id = 101546
+simpleDrapeSwf = http://www.sf.se/sf/component/startplayer/drapeSimple.swf
+xmlPath = http://www.sf.se/DataProvider
+>>> txt=ÃÂKOMMANDEÃÂ FILMER&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode =
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃÂKOMMANDEÃÂ FILMER
+w = 265
+>>> txt=ÃÂKONCEPTÃÂBIO&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode =
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃÂKONCEPTÃÂBIO
+w = 265
+>>> txt=ÃÂNYÃÂHETER&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode =
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃÂNYÃÂHETER
+w = 265
+>>> txt=ÃÂTOPPÃÂLISTAN&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode =
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃÂTOPPÃÂLISTAN
+w = 265
+>>> txt=ÃÂFRÃÂ
GA ÃÂRONNY&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode =
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃÂFRÃÂ
GA ÃÂRONNY
+w = 265
+>>> txt=ÃÂMOBILÃÂGODIS&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode =
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃÂMOBILÃÂGODIS
+w = 265
+>>> txt=ÃÂPRESENT-ÃÂ OCH RABATTKORT&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode =
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃÂPRESENT-ÃÂ OCH RABATTKORT
+w = 265
+>>> pHost=www.sf.se&pContextPath=/bio&pServer=www.sf.se&pPort=4001&pNumSeats=2&pSeats=&pSplitSeats=false&pAuditorium=2008_53&pVip=false&pListen=2008%2353%23200711131830&pNextUrl=/bio/Booking?cmd=showPaymentTypePage&pAbortUrl=/bio/Booking?cmd=listFilms
+decode =
+pAbortUrl = /bio/Booking?cmd=listFilms
+pAuditorium = 2008_53
+pContextPath = /bio
+pHost = www.sf.se
+pListen = 2008#53#200711131830
+pNextUrl = /bio/Booking?cmd=showPaymentTypePage
+pNumSeats = 2
+pPort = 4001
+pSeats =
+pServer = www.sf.se
+pSplitSeats = false
+pVip = false
+>>> foo=bar
+decode =
+foo = bar
diff --git a/test/trace/loadvars-decode-6.swf b/test/trace/loadvars-decode-6.swf
index e79bb27..0601a93 100644
Binary files a/test/trace/loadvars-decode-6.swf and b/test/trace/loadvars-decode-6.swf differ
diff --git a/test/trace/loadvars-decode-6.swf.trace b/test/trace/loadvars-decode-6.swf.trace
index e791f3e..fdfaf47 100644
--- a/test/trace/loadvars-decode-6.swf.trace
+++ b/test/trace/loadvars-decode-6.swf.trace
@@ -21,3 +21,185 @@ a =
c =
d = e
decode = [type Function]
+>>> id=mplayer&javascriptid=mplayer&frontcolor=0xFFFFFF&backcolor=0x000000&enablejs=true&largecontrols=false&file=http://kanal5.se/c/ext/k5video/playlist?selectType=playlist-name%26selectWord=Mazda%26selectType2=playlist-name%26selectWord2=Fraga Olle 1107&bufferlength=6&displayheight=168&height=168&width=225&autostart=false&repeat=list&shuffle=false&overstretch=fit&volume=80&rotatetime=5&showicons=true&bwfile=/html/themes/kanal5/images/100k.jpg&bwstreams=400_400,640_700&useaudio=false&usecaptions=false&usekeys=false&callback=http://kanal5.se/c/ext/k5video/counter&showvolume=true&usefullscreen=true&allowscriptaccess=always
+allowscriptaccess = always
+autostart = false
+backcolor = 0x000000
+bufferlength = 6
+bwfile = /html/themes/kanal5/images/100k.jpg
+bwstreams = 400_400,640_700
+callback = http://kanal5.se/c/ext/k5video/counter
+decode = [type Function]
+displayheight = 168
+enablejs = true
+file = http://kanal5.se/c/ext/k5video/playlist?selectType=playlist-name&selectWord=Mazda&selectType2=playlist-name&selectWord2=Fraga Olle 1107
+frontcolor = 0xFFFFFF
+height = 168
+id = mplayer
+javascriptid = mplayer
+largecontrols = false
+overstretch = fit
+repeat = list
+rotatetime = 5
+showicons = true
+showvolume = true
+shuffle = false
+useaudio = false
+usecaptions = false
+usefullscreen = true
+usekeys = false
+volume = 80
+width = 225
+>>> 6049
+6049 =
+decode = [type Function]
+>>> img_id=181477
+decode = [type Function]
+img_id = 181477
+>>> xmlUrl=http://www.svenskfast.se/Pages/ObjectPicturesXML.aspx?ObjectID=3ELJF2R975UU6KB8
+decode = [type Function]
+xmlUrl = http://www.svenskfast.se/Pages/ObjectPicturesXML.aspx?ObjectID=3ELJF2R975UU6KB8
+>>> v=1
+decode = [type Function]
+v = 1
+>>> hl=en&video_id=Ra9tHf5oTGE&l=174&t=OEgsToPDskIiI57FokAGWDU_cVWkk0YQ&sk=jx4HbVzSeNwxQnLPSJ-AeQC&plid=AAQ-wZXLj0LXb-xH&playnext=0
+decode = [type Function]
+hl = en
+l = 174
+playnext = 0
+plid = AAQ-wZXLj0LXb-xH
+sk = jx4HbVzSeNwxQnLPSJ-AeQC
+t = OEgsToPDskIiI57FokAGWDU_cVWkk0YQ
+video_id = Ra9tHf5oTGE
+>>> ns=yt&plid=AAQ-wZXLj0LXb-xH&vid=jx4HbVzSeNwxQnLPSJ-AeQC&docid=Ra9tHf5oTGE&el=detailpage&et=0.04&fv=WIN%209%2C0%2C100%2C0&nbe=0&st=0.04&rt=3.7&len=174
+decode = [type Function]
+docid = Ra9tHf5oTGE
+el = detailpage
+et = 0.04
+fv = WIN 9,0,100,0
+len = 174
+nbe = 0
+ns = yt
+plid = AAQ-wZXLj0LXb-xH
+rt = 3.7
+st = 0.04
+vid = jx4HbVzSeNwxQnLPSJ-AeQC
+>>> f=/wps/wcm/resources/file/eb2d284fab2722c/popcorn.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START BANNER BREDBAND', '');}catch(e){;}finally{location.href='/bredband';}
+clickTag = javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START BANNER BREDBAND', '');}catch(e){;}finally{location.href='/bredband';}
+decode = [type Function]
+f = /wps/wcm/resources/file/eb2d284fab2722c/popcorn.swf
+>>> f=/portal/wcmobject/document/swf/fsecuretavling_puff.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_KAMPANJ FSECURE TAVLING', '');}catch(e){;}finally{location.href='/fsecuretavling';}
+clickTag = javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_KAMPANJ FSECURE TAVLING', '');}catch(e){;}finally{location.href='/fsecuretavling';}
+decode = [type Function]
+f = /portal/wcmobject/document/swf/fsecuretavling_puff.swf
+>>> f=/wps/wcm/resources/file/ebc66e4b245ddf2/telefoni-puff_new.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF TELEFONI', '');}catch(e){;}finally{location.href='/telefoni';}
+clickTag = javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF TELEFONI', '');}catch(e){;}finally{location.href='/telefoni';}
+decode = [type Function]
+f = /wps/wcm/resources/file/ebc66e4b245ddf2/telefoni-puff_new.swf
+>>> f=/wps/wcm/resources/file/ebc66c4b2452908/film.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF VOD', '');}catch(e){;}finally{location.href='/portal/redirect/privat/digitaltv?page=new%26WCM_GLOBAL_CONTEXT=/wps/wcm/connect/b2/privat/digitaltv/filmnarduvill';}&rootdir=
+clickTag = javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF VOD', '');}catch(e){;}finally{location.href='/portal/redirect/privat/digitaltv?page=new&WCM_GLOBAL_CONTEXT=/wps/wcm/connect/b2/privat/digitaltv/filmnarduvill';}
+decode = [type Function]
+f = /wps/wcm/resources/file/ebc66c4b2452908/film.swf
+rootdir =
+>>> f=/wps/wcm/resources/file/ebc66d4b24596b5/sakerhet_puff.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF SAKERHET', '');}catch(e){;}finally{location.href='/sakerhet';}
+clickTag = javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF SAKERHET', '');}catch(e){;}finally{location.href='/sakerhet';}
+decode = [type Function]
+f = /wps/wcm/resources/file/ebc66d4b24596b5/sakerhet_puff.swf
+>>> lang=en&enforce=0
+decode = [type Function]
+enforce = 0
+lang = en
+>>> id=22&initView=EU,SE&lang=SV&home=EU,SE&skin=Default
+decode = [type Function]
+home = EU,SE
+id = 22
+initView = EU,SE
+lang = SV
+skin = Default
+>>> linkUrl=http://www.smhi.se/cmp/jsp/polopoly.jsp?d=5236&l=sv&linkTarget=_top
+decode = [type Function]
+l = sv
+linkTarget = _top
+linkUrl = http://www.smhi.se/cmp/jsp/polopoly.jsp?d=5236
+>>> txt=<a href=%22asfunction:_root.launchURL,0%22>ADOBE FLASH CS3 PROFESSIONAL</a>&textcolor=#ffffff&hovercolor=#c00c00&linkcolor=#ffffff&w=640&h=28&sifr_url_0=/products/flash/
+decode = [type Function]
+h = 28
+hovercolor = #c00c00
+linkcolor = #ffffff
+sifr_url_0 = /products/flash/
+textcolor = #ffffff
+txt = <a href="asfunction:_root.launchURL,0">ADOBE FLASH CS3 PROFESSIONAL</a>
+w = 640
+>>> simpleDrapeSwf=http://www.sf.se/sf/component/startplayer/drapeSimple.swf&animDrapeSwf=http://www.sf.se/sf/component/startplayer/drapeAnimation.swf&curl=cycube://internal/document/106364&id=101546&xmlPath=http://www.sf.se/DataProvider
+animDrapeSwf = http://www.sf.se/sf/component/startplayer/drapeAnimation.swf
+curl = cycube://internal/document/106364
+decode = [type Function]
+id = 101546
+simpleDrapeSwf = http://www.sf.se/sf/component/startplayer/drapeSimple.swf
+xmlPath = http://www.sf.se/DataProvider
+>>> txt=ÃKOMMANDEÃ FILMER&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode = [type Function]
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃKOMMANDEÃ FILMER
+w = 265
+>>> txt=ÃKONCEPTÃBIO&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode = [type Function]
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃKONCEPTÃBIO
+w = 265
+>>> txt=ÃNYÃHETER&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode = [type Function]
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃNYÃHETER
+w = 265
+>>> txt=ÃTOPPÃLISTAN&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode = [type Function]
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃTOPPÃLISTAN
+w = 265
+>>> txt=ÃFRÃ
GA ÃRONNY&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode = [type Function]
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃFRÃ
GA ÃRONNY
+w = 265
+>>> txt=ÃMOBILÃGODIS&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode = [type Function]
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃMOBILÃGODIS
+w = 265
+>>> txt=ÃPRESENT-Ã OCH RABATTKORT&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode = [type Function]
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃPRESENT-Ã OCH RABATTKORT
+w = 265
+>>> pHost=www.sf.se&pContextPath=/bio&pServer=www.sf.se&pPort=4001&pNumSeats=2&pSeats=&pSplitSeats=false&pAuditorium=2008_53&pVip=false&pListen=2008%2353%23200711131830&pNextUrl=/bio/Booking?cmd=showPaymentTypePage&pAbortUrl=/bio/Booking?cmd=listFilms
+decode = [type Function]
+pAbortUrl = /bio/Booking?cmd=listFilms
+pAuditorium = 2008_53
+pContextPath = /bio
+pHost = www.sf.se
+pListen = 2008#53#200711131830
+pNextUrl = /bio/Booking?cmd=showPaymentTypePage
+pNumSeats = 2
+pPort = 4001
+pSeats =
+pServer = www.sf.se
+pSplitSeats = false
+pVip = false
+>>> foo=bar
+decode = [type Function]
+foo = bar
diff --git a/test/trace/loadvars-decode-7.swf b/test/trace/loadvars-decode-7.swf
index 600ff61..5541bb0 100644
Binary files a/test/trace/loadvars-decode-7.swf and b/test/trace/loadvars-decode-7.swf differ
diff --git a/test/trace/loadvars-decode-7.swf.trace b/test/trace/loadvars-decode-7.swf.trace
index e791f3e..fdfaf47 100644
--- a/test/trace/loadvars-decode-7.swf.trace
+++ b/test/trace/loadvars-decode-7.swf.trace
@@ -21,3 +21,185 @@ a =
c =
d = e
decode = [type Function]
+>>> id=mplayer&javascriptid=mplayer&frontcolor=0xFFFFFF&backcolor=0x000000&enablejs=true&largecontrols=false&file=http://kanal5.se/c/ext/k5video/playlist?selectType=playlist-name%26selectWord=Mazda%26selectType2=playlist-name%26selectWord2=Fraga Olle 1107&bufferlength=6&displayheight=168&height=168&width=225&autostart=false&repeat=list&shuffle=false&overstretch=fit&volume=80&rotatetime=5&showicons=true&bwfile=/html/themes/kanal5/images/100k.jpg&bwstreams=400_400,640_700&useaudio=false&usecaptions=false&usekeys=false&callback=http://kanal5.se/c/ext/k5video/counter&showvolume=true&usefullscreen=true&allowscriptaccess=always
+allowscriptaccess = always
+autostart = false
+backcolor = 0x000000
+bufferlength = 6
+bwfile = /html/themes/kanal5/images/100k.jpg
+bwstreams = 400_400,640_700
+callback = http://kanal5.se/c/ext/k5video/counter
+decode = [type Function]
+displayheight = 168
+enablejs = true
+file = http://kanal5.se/c/ext/k5video/playlist?selectType=playlist-name&selectWord=Mazda&selectType2=playlist-name&selectWord2=Fraga Olle 1107
+frontcolor = 0xFFFFFF
+height = 168
+id = mplayer
+javascriptid = mplayer
+largecontrols = false
+overstretch = fit
+repeat = list
+rotatetime = 5
+showicons = true
+showvolume = true
+shuffle = false
+useaudio = false
+usecaptions = false
+usefullscreen = true
+usekeys = false
+volume = 80
+width = 225
+>>> 6049
+6049 =
+decode = [type Function]
+>>> img_id=181477
+decode = [type Function]
+img_id = 181477
+>>> xmlUrl=http://www.svenskfast.se/Pages/ObjectPicturesXML.aspx?ObjectID=3ELJF2R975UU6KB8
+decode = [type Function]
+xmlUrl = http://www.svenskfast.se/Pages/ObjectPicturesXML.aspx?ObjectID=3ELJF2R975UU6KB8
+>>> v=1
+decode = [type Function]
+v = 1
+>>> hl=en&video_id=Ra9tHf5oTGE&l=174&t=OEgsToPDskIiI57FokAGWDU_cVWkk0YQ&sk=jx4HbVzSeNwxQnLPSJ-AeQC&plid=AAQ-wZXLj0LXb-xH&playnext=0
+decode = [type Function]
+hl = en
+l = 174
+playnext = 0
+plid = AAQ-wZXLj0LXb-xH
+sk = jx4HbVzSeNwxQnLPSJ-AeQC
+t = OEgsToPDskIiI57FokAGWDU_cVWkk0YQ
+video_id = Ra9tHf5oTGE
+>>> ns=yt&plid=AAQ-wZXLj0LXb-xH&vid=jx4HbVzSeNwxQnLPSJ-AeQC&docid=Ra9tHf5oTGE&el=detailpage&et=0.04&fv=WIN%209%2C0%2C100%2C0&nbe=0&st=0.04&rt=3.7&len=174
+decode = [type Function]
+docid = Ra9tHf5oTGE
+el = detailpage
+et = 0.04
+fv = WIN 9,0,100,0
+len = 174
+nbe = 0
+ns = yt
+plid = AAQ-wZXLj0LXb-xH
+rt = 3.7
+st = 0.04
+vid = jx4HbVzSeNwxQnLPSJ-AeQC
+>>> f=/wps/wcm/resources/file/eb2d284fab2722c/popcorn.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START BANNER BREDBAND', '');}catch(e){;}finally{location.href='/bredband';}
+clickTag = javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START BANNER BREDBAND', '');}catch(e){;}finally{location.href='/bredband';}
+decode = [type Function]
+f = /wps/wcm/resources/file/eb2d284fab2722c/popcorn.swf
+>>> f=/portal/wcmobject/document/swf/fsecuretavling_puff.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_KAMPANJ FSECURE TAVLING', '');}catch(e){;}finally{location.href='/fsecuretavling';}
+clickTag = javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_KAMPANJ FSECURE TAVLING', '');}catch(e){;}finally{location.href='/fsecuretavling';}
+decode = [type Function]
+f = /portal/wcmobject/document/swf/fsecuretavling_puff.swf
+>>> f=/wps/wcm/resources/file/ebc66e4b245ddf2/telefoni-puff_new.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF TELEFONI', '');}catch(e){;}finally{location.href='/telefoni';}
+clickTag = javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF TELEFONI', '');}catch(e){;}finally{location.href='/telefoni';}
+decode = [type Function]
+f = /wps/wcm/resources/file/ebc66e4b245ddf2/telefoni-puff_new.swf
+>>> f=/wps/wcm/resources/file/ebc66c4b2452908/film.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF VOD', '');}catch(e){;}finally{location.href='/portal/redirect/privat/digitaltv?page=new%26WCM_GLOBAL_CONTEXT=/wps/wcm/connect/b2/privat/digitaltv/filmnarduvill';}&rootdir=
+clickTag = javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF VOD', '');}catch(e){;}finally{location.href='/portal/redirect/privat/digitaltv?page=new&WCM_GLOBAL_CONTEXT=/wps/wcm/connect/b2/privat/digitaltv/filmnarduvill';}
+decode = [type Function]
+f = /wps/wcm/resources/file/ebc66c4b2452908/film.swf
+rootdir =
+>>> f=/wps/wcm/resources/file/ebc66d4b24596b5/sakerhet_puff.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF SAKERHET', '');}catch(e){;}finally{location.href='/sakerhet';}
+clickTag = javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF SAKERHET', '');}catch(e){;}finally{location.href='/sakerhet';}
+decode = [type Function]
+f = /wps/wcm/resources/file/ebc66d4b24596b5/sakerhet_puff.swf
+>>> lang=en&enforce=0
+decode = [type Function]
+enforce = 0
+lang = en
+>>> id=22&initView=EU,SE&lang=SV&home=EU,SE&skin=Default
+decode = [type Function]
+home = EU,SE
+id = 22
+initView = EU,SE
+lang = SV
+skin = Default
+>>> linkUrl=http://www.smhi.se/cmp/jsp/polopoly.jsp?d=5236&l=sv&linkTarget=_top
+decode = [type Function]
+l = sv
+linkTarget = _top
+linkUrl = http://www.smhi.se/cmp/jsp/polopoly.jsp?d=5236
+>>> txt=<a href=%22asfunction:_root.launchURL,0%22>ADOBE FLASH CS3 PROFESSIONAL</a>&textcolor=#ffffff&hovercolor=#c00c00&linkcolor=#ffffff&w=640&h=28&sifr_url_0=/products/flash/
+decode = [type Function]
+h = 28
+hovercolor = #c00c00
+linkcolor = #ffffff
+sifr_url_0 = /products/flash/
+textcolor = #ffffff
+txt = <a href="asfunction:_root.launchURL,0">ADOBE FLASH CS3 PROFESSIONAL</a>
+w = 640
+>>> simpleDrapeSwf=http://www.sf.se/sf/component/startplayer/drapeSimple.swf&animDrapeSwf=http://www.sf.se/sf/component/startplayer/drapeAnimation.swf&curl=cycube://internal/document/106364&id=101546&xmlPath=http://www.sf.se/DataProvider
+animDrapeSwf = http://www.sf.se/sf/component/startplayer/drapeAnimation.swf
+curl = cycube://internal/document/106364
+decode = [type Function]
+id = 101546
+simpleDrapeSwf = http://www.sf.se/sf/component/startplayer/drapeSimple.swf
+xmlPath = http://www.sf.se/DataProvider
+>>> txt=ÃKOMMANDEÃ FILMER&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode = [type Function]
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃKOMMANDEÃ FILMER
+w = 265
+>>> txt=ÃKONCEPTÃBIO&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode = [type Function]
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃKONCEPTÃBIO
+w = 265
+>>> txt=ÃNYÃHETER&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode = [type Function]
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃNYÃHETER
+w = 265
+>>> txt=ÃTOPPÃLISTAN&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode = [type Function]
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃTOPPÃLISTAN
+w = 265
+>>> txt=ÃFRÃ
GA ÃRONNY&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode = [type Function]
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃFRÃ
GA ÃRONNY
+w = 265
+>>> txt=ÃMOBILÃGODIS&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode = [type Function]
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃMOBILÃGODIS
+w = 265
+>>> txt=ÃPRESENT-Ã OCH RABATTKORT&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode = [type Function]
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃPRESENT-Ã OCH RABATTKORT
+w = 265
+>>> pHost=www.sf.se&pContextPath=/bio&pServer=www.sf.se&pPort=4001&pNumSeats=2&pSeats=&pSplitSeats=false&pAuditorium=2008_53&pVip=false&pListen=2008%2353%23200711131830&pNextUrl=/bio/Booking?cmd=showPaymentTypePage&pAbortUrl=/bio/Booking?cmd=listFilms
+decode = [type Function]
+pAbortUrl = /bio/Booking?cmd=listFilms
+pAuditorium = 2008_53
+pContextPath = /bio
+pHost = www.sf.se
+pListen = 2008#53#200711131830
+pNextUrl = /bio/Booking?cmd=showPaymentTypePage
+pNumSeats = 2
+pPort = 4001
+pSeats =
+pServer = www.sf.se
+pSplitSeats = false
+pVip = false
+>>> foo=bar
+decode = [type Function]
+foo = bar
diff --git a/test/trace/loadvars-decode-8.swf b/test/trace/loadvars-decode-8.swf
index 340be84..ee38532 100644
Binary files a/test/trace/loadvars-decode-8.swf and b/test/trace/loadvars-decode-8.swf differ
diff --git a/test/trace/loadvars-decode-8.swf.trace b/test/trace/loadvars-decode-8.swf.trace
index e791f3e..fdfaf47 100644
--- a/test/trace/loadvars-decode-8.swf.trace
+++ b/test/trace/loadvars-decode-8.swf.trace
@@ -21,3 +21,185 @@ a =
c =
d = e
decode = [type Function]
+>>> id=mplayer&javascriptid=mplayer&frontcolor=0xFFFFFF&backcolor=0x000000&enablejs=true&largecontrols=false&file=http://kanal5.se/c/ext/k5video/playlist?selectType=playlist-name%26selectWord=Mazda%26selectType2=playlist-name%26selectWord2=Fraga Olle 1107&bufferlength=6&displayheight=168&height=168&width=225&autostart=false&repeat=list&shuffle=false&overstretch=fit&volume=80&rotatetime=5&showicons=true&bwfile=/html/themes/kanal5/images/100k.jpg&bwstreams=400_400,640_700&useaudio=false&usecaptions=false&usekeys=false&callback=http://kanal5.se/c/ext/k5video/counter&showvolume=true&usefullscreen=true&allowscriptaccess=always
+allowscriptaccess = always
+autostart = false
+backcolor = 0x000000
+bufferlength = 6
+bwfile = /html/themes/kanal5/images/100k.jpg
+bwstreams = 400_400,640_700
+callback = http://kanal5.se/c/ext/k5video/counter
+decode = [type Function]
+displayheight = 168
+enablejs = true
+file = http://kanal5.se/c/ext/k5video/playlist?selectType=playlist-name&selectWord=Mazda&selectType2=playlist-name&selectWord2=Fraga Olle 1107
+frontcolor = 0xFFFFFF
+height = 168
+id = mplayer
+javascriptid = mplayer
+largecontrols = false
+overstretch = fit
+repeat = list
+rotatetime = 5
+showicons = true
+showvolume = true
+shuffle = false
+useaudio = false
+usecaptions = false
+usefullscreen = true
+usekeys = false
+volume = 80
+width = 225
+>>> 6049
+6049 =
+decode = [type Function]
+>>> img_id=181477
+decode = [type Function]
+img_id = 181477
+>>> xmlUrl=http://www.svenskfast.se/Pages/ObjectPicturesXML.aspx?ObjectID=3ELJF2R975UU6KB8
+decode = [type Function]
+xmlUrl = http://www.svenskfast.se/Pages/ObjectPicturesXML.aspx?ObjectID=3ELJF2R975UU6KB8
+>>> v=1
+decode = [type Function]
+v = 1
+>>> hl=en&video_id=Ra9tHf5oTGE&l=174&t=OEgsToPDskIiI57FokAGWDU_cVWkk0YQ&sk=jx4HbVzSeNwxQnLPSJ-AeQC&plid=AAQ-wZXLj0LXb-xH&playnext=0
+decode = [type Function]
+hl = en
+l = 174
+playnext = 0
+plid = AAQ-wZXLj0LXb-xH
+sk = jx4HbVzSeNwxQnLPSJ-AeQC
+t = OEgsToPDskIiI57FokAGWDU_cVWkk0YQ
+video_id = Ra9tHf5oTGE
+>>> ns=yt&plid=AAQ-wZXLj0LXb-xH&vid=jx4HbVzSeNwxQnLPSJ-AeQC&docid=Ra9tHf5oTGE&el=detailpage&et=0.04&fv=WIN%209%2C0%2C100%2C0&nbe=0&st=0.04&rt=3.7&len=174
+decode = [type Function]
+docid = Ra9tHf5oTGE
+el = detailpage
+et = 0.04
+fv = WIN 9,0,100,0
+len = 174
+nbe = 0
+ns = yt
+plid = AAQ-wZXLj0LXb-xH
+rt = 3.7
+st = 0.04
+vid = jx4HbVzSeNwxQnLPSJ-AeQC
+>>> f=/wps/wcm/resources/file/eb2d284fab2722c/popcorn.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START BANNER BREDBAND', '');}catch(e){;}finally{location.href='/bredband';}
+clickTag = javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START BANNER BREDBAND', '');}catch(e){;}finally{location.href='/bredband';}
+decode = [type Function]
+f = /wps/wcm/resources/file/eb2d284fab2722c/popcorn.swf
+>>> f=/portal/wcmobject/document/swf/fsecuretavling_puff.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_KAMPANJ FSECURE TAVLING', '');}catch(e){;}finally{location.href='/fsecuretavling';}
+clickTag = javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_KAMPANJ FSECURE TAVLING', '');}catch(e){;}finally{location.href='/fsecuretavling';}
+decode = [type Function]
+f = /portal/wcmobject/document/swf/fsecuretavling_puff.swf
+>>> f=/wps/wcm/resources/file/ebc66e4b245ddf2/telefoni-puff_new.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF TELEFONI', '');}catch(e){;}finally{location.href='/telefoni';}
+clickTag = javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF TELEFONI', '');}catch(e){;}finally{location.href='/telefoni';}
+decode = [type Function]
+f = /wps/wcm/resources/file/ebc66e4b245ddf2/telefoni-puff_new.swf
+>>> f=/wps/wcm/resources/file/ebc66c4b2452908/film.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF VOD', '');}catch(e){;}finally{location.href='/portal/redirect/privat/digitaltv?page=new%26WCM_GLOBAL_CONTEXT=/wps/wcm/connect/b2/privat/digitaltv/filmnarduvill';}&rootdir=
+clickTag = javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF VOD', '');}catch(e){;}finally{location.href='/portal/redirect/privat/digitaltv?page=new&WCM_GLOBAL_CONTEXT=/wps/wcm/connect/b2/privat/digitaltv/filmnarduvill';}
+decode = [type Function]
+f = /wps/wcm/resources/file/ebc66c4b2452908/film.swf
+rootdir =
+>>> f=/wps/wcm/resources/file/ebc66d4b24596b5/sakerhet_puff.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF SAKERHET', '');}catch(e){;}finally{location.href='/sakerhet';}
+clickTag = javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF SAKERHET', '');}catch(e){;}finally{location.href='/sakerhet';}
+decode = [type Function]
+f = /wps/wcm/resources/file/ebc66d4b24596b5/sakerhet_puff.swf
+>>> lang=en&enforce=0
+decode = [type Function]
+enforce = 0
+lang = en
+>>> id=22&initView=EU,SE&lang=SV&home=EU,SE&skin=Default
+decode = [type Function]
+home = EU,SE
+id = 22
+initView = EU,SE
+lang = SV
+skin = Default
+>>> linkUrl=http://www.smhi.se/cmp/jsp/polopoly.jsp?d=5236&l=sv&linkTarget=_top
+decode = [type Function]
+l = sv
+linkTarget = _top
+linkUrl = http://www.smhi.se/cmp/jsp/polopoly.jsp?d=5236
+>>> txt=<a href=%22asfunction:_root.launchURL,0%22>ADOBE FLASH CS3 PROFESSIONAL</a>&textcolor=#ffffff&hovercolor=#c00c00&linkcolor=#ffffff&w=640&h=28&sifr_url_0=/products/flash/
+decode = [type Function]
+h = 28
+hovercolor = #c00c00
+linkcolor = #ffffff
+sifr_url_0 = /products/flash/
+textcolor = #ffffff
+txt = <a href="asfunction:_root.launchURL,0">ADOBE FLASH CS3 PROFESSIONAL</a>
+w = 640
+>>> simpleDrapeSwf=http://www.sf.se/sf/component/startplayer/drapeSimple.swf&animDrapeSwf=http://www.sf.se/sf/component/startplayer/drapeAnimation.swf&curl=cycube://internal/document/106364&id=101546&xmlPath=http://www.sf.se/DataProvider
+animDrapeSwf = http://www.sf.se/sf/component/startplayer/drapeAnimation.swf
+curl = cycube://internal/document/106364
+decode = [type Function]
+id = 101546
+simpleDrapeSwf = http://www.sf.se/sf/component/startplayer/drapeSimple.swf
+xmlPath = http://www.sf.se/DataProvider
+>>> txt=ÃKOMMANDEÃ FILMER&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode = [type Function]
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃKOMMANDEÃ FILMER
+w = 265
+>>> txt=ÃKONCEPTÃBIO&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode = [type Function]
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃKONCEPTÃBIO
+w = 265
+>>> txt=ÃNYÃHETER&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode = [type Function]
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃNYÃHETER
+w = 265
+>>> txt=ÃTOPPÃLISTAN&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode = [type Function]
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃTOPPÃLISTAN
+w = 265
+>>> txt=ÃFRÃ
GA ÃRONNY&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode = [type Function]
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃFRÃ
GA ÃRONNY
+w = 265
+>>> txt=ÃMOBILÃGODIS&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode = [type Function]
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃMOBILÃGODIS
+w = 265
+>>> txt=ÃPRESENT-Ã OCH RABATTKORT&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19
+decode = [type Function]
+emcolor = #fed63b
+h = 19
+textcolor = #ffffff
+txt = ÃPRESENT-Ã OCH RABATTKORT
+w = 265
+>>> pHost=www.sf.se&pContextPath=/bio&pServer=www.sf.se&pPort=4001&pNumSeats=2&pSeats=&pSplitSeats=false&pAuditorium=2008_53&pVip=false&pListen=2008%2353%23200711131830&pNextUrl=/bio/Booking?cmd=showPaymentTypePage&pAbortUrl=/bio/Booking?cmd=listFilms
+decode = [type Function]
+pAbortUrl = /bio/Booking?cmd=listFilms
+pAuditorium = 2008_53
+pContextPath = /bio
+pHost = www.sf.se
+pListen = 2008#53#200711131830
+pNextUrl = /bio/Booking?cmd=showPaymentTypePage
+pNumSeats = 2
+pPort = 4001
+pSeats =
+pServer = www.sf.se
+pSplitSeats = false
+pVip = false
+>>> foo=bar
+decode = [type Function]
+foo = bar
diff --git a/test/trace/loadvars-decode.as b/test/trace/loadvars-decode.as
index ae3c64b..ddb1305 100644
--- a/test/trace/loadvars-decode.as
+++ b/test/trace/loadvars-decode.as
@@ -37,8 +37,47 @@ tests = [
"???=???",
"a=",
"=b",
- "a=&=b&c&d=e"
- //add more here :)
+ "a=&=b&c&d=e",
+ // www.kanal5.se
+ "id=mplayer&javascriptid=mplayer&frontcolor=0xFFFFFF&backcolor=0x000000&enablejs=true&largecontrols=false&file=http://kanal5.se/c/ext/k5video/playlist?selectType=playlist-name%26selectWord=Mazda%26selectType2=playlist-name%26selectWord2=Fraga Olle 1107&bufferlength=6&displayheight=168&height=168&width=225&autostart=false&repeat=list&shuffle=false&overstretch=fit&volume=80&rotatetime=5&showicons=true&bwfile=/html/themes/kanal5/images/100k.jpg&bwstreams=400_400,640_700&useaudio=false&usecaptions=false&usekeys=false&callback=http://kanal5.se/c/ext/k5video/counter&showvolume=true&usefullscreen=true&allowscriptaccess=always",
+ "6049",
+ "img_id=181477",
+ // www.svenskfast.se
+ "xmlUrl=http://www.svenskfast.se/Pages/ObjectPicturesXML.aspx?ObjectID=3ELJF2R975UU6KB8",
+ // youtube
+ "v=1",
+ "hl=en&video_id=Ra9tHf5oTGE&l=174&t=OEgsToPDskIiI57FokAGWDU_cVWkk0YQ&sk=jx4HbVzSeNwxQnLPSJ-AeQC&plid=AAQ-wZXLj0LXb-xH&playnext=0",
+ "ns=yt&plid=AAQ-wZXLj0LXb-xH&vid=jx4HbVzSeNwxQnLPSJ-AeQC&docid=Ra9tHf5oTGE&el=detailpage&et=0.04&fv=WIN%209%2C0%2C100%2C0&nbe=0&st=0.04&rt=3.7&len=174",
+ // www.bredband.com
+ "f=/wps/wcm/resources/file/eb2d284fab2722c/popcorn.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START BANNER BREDBAND', '');}catch(e){;}finally{location.href='/bredband';}",
+ "f=/portal/wcmobject/document/swf/fsecuretavling_puff.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_KAMPANJ FSECURE TAVLING', '');}catch(e){;}finally{location.href='/fsecuretavling';}",
+ "f=/wps/wcm/resources/file/ebc66e4b245ddf2/telefoni-puff_new.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF TELEFONI', '');}catch(e){;}finally{location.href='/telefoni';}",
+ "f=/wps/wcm/resources/file/ebc66c4b2452908/film.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF VOD', '');}catch(e){;}finally{location.href='/portal/redirect/privat/digitaltv?page=new%26WCM_GLOBAL_CONTEXT=/wps/wcm/connect/b2/privat/digitaltv/filmnarduvill';}&rootdir=",
+ "f=/wps/wcm/resources/file/ebc66d4b24596b5/sakerhet_puff.swf&clickTag=javascript:try{Instadia_sendEvent('011kr', 'BANNER # B2_PRIVAT_START PUFF SAKERHET', '');}catch(e){;}finally{location.href='/sakerhet';}",
+ // www.2advanced.com
+ "lang=en&enforce=0",
+ // www.smhi.se
+ "id=22&initView=EU,SE&lang=SV&home=EU,SE&skin=Default",
+ "linkUrl=http://www.smhi.se/cmp/jsp/polopoly.jsp?d=5236&l=sv&linkTarget=_top",
+ // www.flash.com
+ "txt=<a href=%22asfunction:_root.launchURL,0%22>ADOBE FLASH CS3 PROFESSIONAL</a>&textcolor=#ffffff&hovercolor=#c00c00&linkcolor=#ffffff&w=640&h=28&sifr_url_0=/products/flash/",
+ // www.sf.se
+ "simpleDrapeSwf=http://www.sf.se/sf/component/startplayer/drapeSimple.swf&animDrapeSwf=http://www.sf.se/sf/component/startplayer/drapeAnimation.swf&curl=cycube://internal/document/106364&id=101546&xmlPath=http://www.sf.se/DataProvider",
+ "txt=ÃKOMMANDEÃ FILMER&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19",
+ "txt=ÃKONCEPTÃBIO&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19",
+ "txt=ÃNYÃHETER&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19",
+ "txt=ÃTOPPÃLISTAN&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19",
+ "txt=ÃFRÃ
GA ÃRONNY&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19",
+ "txt=ÃMOBILÃGODIS&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19",
+ "txt=ÃPRESENT-Ã OCH RABATTKORT&textcolor=%23ffffff&emcolor=%23fed63b&w=265&h=19",
+ "pHost=www.sf.se&pContextPath=/bio&pServer=www.sf.se&pPort=4001&pNumSeats=2&pSeats=&pSplitSeats=false&pAuditorium=2008_53&pVip=false&pListen=2008%2353%23200711131830&pNextUrl=/bio/Booking?cmd=showPaymentTypePage&pAbortUrl=/bio/Booking?cmd=listFilms",
+
+ // add more here.
+
+
+ // done.
+ "foo=bar"
+
];
for (i = 0; i < tests.length; i++) {
commit dc15fbe1c9cfd00a584dc85f1cd334a0a5d395f6
Author: Benjamin Otte <otte at gnome.org>
Date: Mon Nov 12 23:16:32 2007 +0100
free objects before checking they're gone
diff --git a/libswfdec/swfdec_player.c b/libswfdec/swfdec_player.c
index ea6cb4b..dc44de2 100644
--- a/libswfdec/swfdec_player.c
+++ b/libswfdec/swfdec_player.c
@@ -850,6 +850,8 @@ swfdec_player_dispose (GObject *object)
g_object_unref (player->resource);
player->resource = NULL;
}
+ while (player->rooted_objects)
+ swfdec_player_unroot_object (player, player->rooted_objects->data);
/* we do this here so references to GC'd objects get freed */
G_OBJECT_CLASS (swfdec_player_parent_class)->dispose (object);
@@ -884,8 +886,6 @@ swfdec_player_dispose (GObject *object)
}
g_assert (player->timeouts == NULL);
g_list_free (player->intervals);
- while (player->rooted_objects)
- swfdec_player_unroot_object (player, player->rooted_objects->data);
player->intervals = NULL;
swfdec_cache_unref (player->cache);
if (player->system) {
More information about the Swfdec
mailing list