git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
allow burning DVDs with multiple titles where playback automatically jumps to the...
[enigma2.git]
/
lib
/
dvb
/
subtitle.cpp
diff --git
a/lib/dvb/subtitle.cpp
b/lib/dvb/subtitle.cpp
index 7ae49db5f1f91fa31ac627a60f57b221b9a40a50..f4b5b7e415f23dbbafc81fdb90bc7cdf7d9b2be2 100644
(file)
--- a/
lib/dvb/subtitle.cpp
+++ b/
lib/dvb/subtitle.cpp
@@
-360,6
+360,13
@@
int eDVBSubtitleParser::subtitle_process_segment(__u8 *segment)
{
subtitle_region *p = page->regions->next;
//eDebug("delete region %d", page->regions->region_id);
{
subtitle_region *p = page->regions->next;
//eDebug("delete region %d", page->regions->region_id);
+ while(page->regions->region_objects)
+ {
+ //eDebug("delete region object");
+ subtitle_region_object *ob = page->regions->region_objects->next;
+ delete page->regions->region_objects;
+ page->regions->region_objects = ob;
+ }
delete page->regions;
page->regions = p;
}
delete page->regions;
page->regions = p;
}
@@
-451,6
+458,7
@@
int eDVBSubtitleParser::subtitle_process_segment(__u8 *segment)
else if (region->region_version_number != region_version_number)
{
subtitle_region_object *objects = region->region_objects;
else if (region->region_version_number != region_version_number)
{
subtitle_region_object *objects = region->region_objects;
+ //eDebug("unequal version %p %p", objects, objects?objects->next:objects);
while (objects)
{
subtitle_region_object *n = objects->next;
while (objects)
{
subtitle_region_object *n = objects->next;