[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