diff options
author | Darren Salt <linux@youmustbejoking.demon.co.uk> | 2007-04-25 18:19:00 +0100 |
---|---|---|
committer | Darren Salt <linux@youmustbejoking.demon.co.uk> | 2007-04-25 18:19:00 +0100 |
commit | c3cdce4e0f733922ec151723c8b4d112ee40ca9d (patch) | |
tree | 46153ba75bf0171868baf551ae2f10799662c2e9 /src/xine-engine/video_overlay.c | |
parent | 09d56dfc0728f7a5dc80760c839f9818c8b80a57 (diff) | |
parent | ad65ce16f4583a1ecdf3d3a507a7991c208d6c0c (diff) | |
download | xine-lib-c3cdce4e0f733922ec151723c8b4d112ee40ca9d.tar.gz xine-lib-c3cdce4e0f733922ec151723c8b4d112ee40ca9d.tar.bz2 |
Merge from 1.1.
Diffstat (limited to 'src/xine-engine/video_overlay.c')
-rw-r--r-- | src/xine-engine/video_overlay.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/xine-engine/video_overlay.c b/src/xine-engine/video_overlay.c index 7bd9292c8..231aa5a70 100644 --- a/src/xine-engine/video_overlay.c +++ b/src/xine-engine/video_overlay.c @@ -288,10 +288,18 @@ static int32_t video_overlay_add_event(video_overlay_manager_t *this_gen, void } if( event->object.overlay ) { + int i; + for(i = 0; i < OVL_PALETTE_SIZE; i++) { + if(event->object.overlay->trans[i] >= OVL_MAX_OPACITY) + event->object.overlay->trans[i] = OVL_MAX_OPACITY; + if(event->object.overlay->hili_trans[i] >= OVL_MAX_OPACITY) + event->object.overlay->hili_trans[i] = OVL_MAX_OPACITY; + } + this->events[new_event].event->object.overlay = xine_xmalloc (sizeof(vo_overlay_t)); xine_fast_memcpy(this->events[new_event].event->object.overlay, event->object.overlay, sizeof(vo_overlay_t)); - + /* We took the callers rle and data, therefore it will be our job to free it */ /* clear callers overlay so it will not be freed twice */ memset(event->object.overlay,0,sizeof(vo_overlay_t)); |