[oe-commits] org.oe.dreambox enigma: backport subtitle memleak fix

tmbinc commit openembedded-commits at lists.openembedded.org
Wed Nov 21 13:03:47 UTC 2007


enigma: backport subtitle memleak fix

Author: tmbinc at openembedded.org
Branch: org.openembedded.dreambox
Revision: 335eff19087bb711ff97a469ddb3eedf647a0f10
ViewMTN: http://monotone.openembedded.org/revision/info/335eff19087bb711ff97a469ddb3eedf647a0f10
Files:
1
packages/enigma/enigma/subtitlefix_backport.diff
packages/enigma/enigma_cvs.bb
Diffs:

#
# mt diff -r8f1ea263b352bd617459b584cd2b61bd42550b29 -r335eff19087bb711ff97a469ddb3eedf647a0f10
#
# 
# 
# patch "packages/enigma/enigma/subtitlefix_backport.diff"
#  from [edc62b7288d6f9d214dba7f576ee7c839b8a1a1d]
#    to [10242abdcfab1c2698925682be842924591d0da1]
# 
# patch "packages/enigma/enigma_cvs.bb"
#  from [62c082e75293e3054b61f84ca5553889ef5ddb86]
#    to [31da72d18a7c77c27cd92b906c5e3f1ab9ab5146]
# 
============================================================
--- packages/enigma/enigma/subtitlefix_backport.diff	edc62b7288d6f9d214dba7f576ee7c839b8a1a1d
+++ packages/enigma/enigma/subtitlefix_backport.diff	10242abdcfab1c2698925682be842924591d0da1
@@ -1,20 +1,26 @@
-diff -Naur enigma_org/lib/dvb/subtitle.cpp enigma/lib/dvb/subtitle.cpp
---- enigma_org/lib/dvb/subtitle.cpp	2005-08-02 22:35:36.000000000 +0200
-+++ enigma/lib/dvb/subtitle.cpp	2007-10-19 11:55:36.000000000 +0200
-@@ -337,6 +337,12 @@
+--- enigma_org/lib/dvb/subtitle.cpp	2 Aug 2005 20:35:36 -0000	1.13
++++ enigma/lib/dvb/subtitle.cpp	21 Nov 2007 11:52:51 -0000
+@@ -337,6 +337,19 @@
  				delete page->page_regions;
  				page->page_regions = p;
  			}
 +			while (page->regions)
 +			{
 +				struct subtitle_region *p = page->regions->next;
++				while(page->regions->region_objects)
++				{
++					subtitle_region_object *ob = page->regions->region_objects->next;
++					delete page->regions->region_objects;
++					page->regions->region_objects = ob;
++				}
++				delete [] page->regions->region_buffer;
 +				delete page->regions;
 +				page->regions = p;
 +			}
  		}
  
  //		eDebug("new page.. (%d)", page_state);
-@@ -352,7 +358,14 @@
+@@ -352,7 +365,14 @@
  			// go to last entry
  		while (*r)
  			r = &(*r)->next;
@@ -30,7 +36,7 @@ diff -Naur enigma_org/lib/dvb/subtitle.c
  		while (processed_length < segment_length)
  		{
  			struct subtitle_page_region *pr;
-@@ -763,20 +776,16 @@
+@@ -763,20 +783,16 @@
  #if 1
  	struct subtitle_page *page = sub->pages;
  	if ( page )
@@ -54,7 +60,7 @@ diff -Naur enigma_org/lib/dvb/subtitle.c
  	//eDebug("----------- end of display set");
  	//eDebug("active pages:");
  	while (page)
-@@ -878,7 +887,6 @@
+@@ -878,7 +894,6 @@
  		return;
  	}
  	
@@ -62,7 +68,7 @@ diff -Naur enigma_org/lib/dvb/subtitle.c
  	//eDebug("iterating regions..");
  		/* iterate all regions in this pcs */
  	struct subtitle_page_region *region = page->page_regions;
-@@ -902,20 +910,19 @@
+@@ -902,20 +917,19 @@
  			{
  				if (main_clut_id != clut_id)
  				{
@@ -87,9 +93,8 @@ diff -Naur enigma_org/lib/dvb/subtitle.c
  			if ((x0 < 0) || (y0 < 0) || (x0 > sub->screen_width) || (x0 > sub->screen_height))
  				continue;
  
-diff -Naur enigma_org/lib/dvb/subtitling.cpp enigma/lib/dvb/subtitling.cpp
---- enigma_org/lib/dvb/subtitling.cpp	2005-08-02 22:35:36.000000000 +0200
-+++ enigma/lib/dvb/subtitling.cpp	2007-10-19 11:57:24.000000000 +0200
+--- enigma_org/lib/dvb/subtitling.cpp	2 Aug 2005 20:35:36 -0000	1.12
++++ enigma/lib/dvb/subtitling.cpp	21 Nov 2007 11:52:51 -0000
 @@ -67,26 +67,26 @@
  	unsigned long long current = 0;
  	if (Decoder::getSTC(current))
@@ -169,3 +174,12 @@ diff -Naur enigma_org/lib/dvb/subtitling
  }
  
  void eSubtitleWidget::gotData(int what)
+@@ -377,7 +383,7 @@
+ 	while (!queue.empty())
+ 	{
+ 		pes_packet_s pkt = queue.front();
+-		queue.front();
++		queue.pop();
+ 		delete [] pkt.pkt;
+ 	}
+ 	delete subtitle;
============================================================
--- packages/enigma/enigma_cvs.bb	62c082e75293e3054b61f84ca5553889ef5ddb86
+++ packages/enigma/enigma_cvs.bb	31da72d18a7c77c27cd92b906c5e3f1ab9ab5146
@@ -6,7 +6,7 @@ PN = "enigma"
 SRCDATE = "20070615"
 PV = "cvs-${SRCDATE}"
 PN = "enigma"
-PR = "r2"
+PR = "r3"
 
 SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/tuxbox/enigma;method=ext \
            file://enigma.sh \






More information about the Openembedded-commits mailing list