X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/bce53d4a67d1655a496eebe5912c8573e880114e..7af17e298fb338d477f2d93ab230e395c656ea9f:/lib/dvb/subtitle.cpp?ds=sidebyside diff --git a/lib/dvb/subtitle.cpp b/lib/dvb/subtitle.cpp index 642327bb..87dadba5 100644 --- a/lib/dvb/subtitle.cpp +++ b/lib/dvb/subtitle.cpp @@ -81,7 +81,7 @@ void eDVBSubtitleParser::subtitle_process_line(subtitle_page *page, int object_i } // //eDebug("inserting %d bytes (into region %d)", len, region->region_id); // eDebug("put data to region_buffer %p", &(*region->region_buffer)); - memcpy((__u8*)region->region_buffer->surface->data + region->region_width * y + x, data, len); + memcpy((__u8*)region->region_buffer->surface->data + region->region_buffer->surface->stride * y + x, data, len); } object = object->next; } @@ -490,7 +490,8 @@ int eDVBSubtitleParser::subtitle_process_segment(__u8 *segment) region->region_height |= *segment++; processed_length += 2; - region->region_buffer = new gPixmap(eSize(region->region_width, region->region_height), 8); + region->region_buffer = new gPixmap(eSize(region->region_width, region->region_height), 8, 1); + memset(region->region_buffer->surface->data, 0, region->region_height * region->region_buffer->surface->stride); //eDebug("new region_buffer %p", &(*region->region_buffer)); int region_level_of_compatibility, region_depth;