Merge branch 'master' of git.opendreambox.org:/git/enigma2
authorFelix Domke <tmbinc@2mac.waldobjekt.org>
Fri, 19 Jun 2009 17:09:06 +0000 (19:09 +0200)
committerFelix Domke <tmbinc@2mac.waldobjekt.org>
Fri, 19 Jun 2009 17:09:06 +0000 (19:09 +0200)
lib/dvb/subtitle.cpp
lib/gui/esubtitle.cpp

index 642327bb0e522d5c1275767b3f91a0eef37f5103..b6c5b7189dd1fe7400b6cb01329bd1084f6c7cd1 100644 (file)
@@ -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,7 @@ 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);
                //eDebug("new region_buffer %p", &(*region->region_buffer));
 
                int region_level_of_compatibility, region_depth;
index 22ebc8c34935cf4464b0687c54171ab73c1a49b7..f3d0e35f1edcb5afc655aef11deb060b8e67e180 100644 (file)
@@ -62,7 +62,9 @@ void eSubtitleWidget::setPage(const eDVBSubtitlePage &p)
        for (std::list<eDVBSubtitleRegion>::iterator it(m_dvb_page.m_regions.begin()); it != m_dvb_page.m_regions.end(); ++it)
        {
                eDebug("add %d %d %d %d", it->m_position.x(), it->m_position.y(), it->m_pixmap->size().width(), it->m_pixmap->size().height());
-               m_visible_region.rects.push_back(eRect(it->m_position, it->m_pixmap->size()));
+               eRect r = eRect(it->m_position, it->m_pixmap->size());
+               r.scale(size().width(), 720, size().height(), 576);
+               m_visible_region.rects.push_back(r);
        }
        m_dvb_page_ok = 1;
        m_hide_subtitles_timer->start(7500, true);