diff options
| -rw-r--r-- | lib/dvb/subtitle.cpp | 5 | ||||
| -rw-r--r-- | lib/dvb/subtitle.h | 1 |
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; |
