aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/dvb/subtitle.cpp5
-rw-r--r--lib/dvb/subtitle.h1
2 files changed, 5 insertions, 1 deletions
diff --git a/lib/dvb/subtitle.cpp b/lib/dvb/subtitle.cpp
index f4b5b7e4..642327bb 100644
--- a/lib/dvb/subtitle.cpp
+++ b/lib/dvb/subtitle.cpp
@@ -345,6 +345,8 @@ int eDVBSubtitleParser::subtitle_process_segment(__u8 *segment)
}
}
+ page->state = page_state;
+
//eDebug("page updated: old: %d, new: %d", page->page_version_number, page_version_number);
// when acquisition point or mode change: remove all displayed pages.
if ((page_state == 1) || (page_state == 2))
@@ -804,7 +806,8 @@ void eDVBSubtitleParser::subtitle_redraw_all()
subtitle_page *page = m_pages;
while(page)
{
- subtitle_redraw(page->page_id);
+ if (page->state != 0)
+ subtitle_redraw(page->page_id);
page = page->next;
}
#else
diff --git a/lib/dvb/subtitle.h b/lib/dvb/subtitle.h
index fb9c51a2..09d6cd47 100644
--- a/lib/dvb/subtitle.h
+++ b/lib/dvb/subtitle.h
@@ -71,6 +71,7 @@ struct subtitle_page
int page_id;
time_t page_time_out;
int page_version_number;
+ int state;
int pcs_size;
subtitle_page_region *page_regions;