summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2001-12-23 13:04:17 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2001-12-23 13:04:17 +0000
commita98ab774ecbdf91d41f292149d8adabca3a95ed9 (patch)
treef0357ad6e4e1b8b854edd75d492f6b1dbd448181
parentabd7d20540e903918b90a1f7f98536b32fa7e5ee (diff)
downloadxine-lib-a98ab774ecbdf91d41f292149d8adabca3a95ed9.tar.gz
xine-lib-a98ab774ecbdf91d41f292149d8adabca3a95ed9.tar.bz2
osd bugfixes from Christer Palm
CVS patchset: 1290 CVS date: 2001/12/23 13:04:17
-rw-r--r--src/xine-engine/osd.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/xine-engine/osd.c b/src/xine-engine/osd.c
index dde55472a..58fc4d5f8 100644
--- a/src/xine-engine/osd.c
+++ b/src/xine-engine/osd.c
@@ -184,8 +184,8 @@ static int osd_show (osd_object_t *osd, uint32_t vpts ) {
if( osd->x2 >= osd->x1 ) {
this->event.object.handle = osd->handle;
- /* not really needed this, but good pratice to clean it up */
- memset( this->event.object.overlay, 0, sizeof(this->event.object.overlay) );
+
+ memset( this->event.object.overlay, 0, sizeof(*this->event.object.overlay) );
this->event.object.overlay->x = osd->display_x + osd->x1;
this->event.object.overlay->y = osd->display_y + osd->y1;
this->event.object.overlay->width = osd->x2 - osd->x1 + 1;
@@ -199,18 +199,18 @@ static int osd_show (osd_object_t *osd, uint32_t vpts ) {
osd->display_y;
spare = osd->y2 - osd->y1;
-
+ this->event.object.overlay->num_rle = 0;
this->event.object.overlay->data_size = 1024;
rle_p = this->event.object.overlay->rle =
malloc(this->event.object.overlay->data_size * sizeof(rle_elem_t) );
for( y = osd->y1; y <= osd->y2; y++ ) {
rle.len = 0;
- c = osd->area + y * osd->width + osd->x1;
+ c = osd->area + y * osd->width + osd->x1;
for( x = osd->x1; x <= osd->x2; x++, c++ ) {
if( rle.color != *c ) {
if( rle.len ) {
- if( (this->event.object.overlay->num_rle + spare) * sizeof(rle_elem_t) >
+ if( (this->event.object.overlay->num_rle + spare) >
this->event.object.overlay->data_size ) {
this->event.object.overlay->data_size += 1024;
rle_p = this->event.object.overlay->rle =