summaryrefslogtreecommitdiffstats
path: root/libvo/sub.c
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-08-15 00:35:35 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-08-15 00:35:35 +0000
commitb15e5745af8ed9333329d0c8f6d7006f83bf02ca (patch)
tree29de6b1732d733831de680e8be16eb4864fb9937 /libvo/sub.c
parent1a1ba1d58d64c937297e7af734107139a47fe7ad (diff)
downloadmpv-b15e5745af8ed9333329d0c8f6d7006f83bf02ca.tar.bz2
mpv-b15e5745af8ed9333329d0c8f6d7006f83bf02ca.tar.xz
segfault fixed
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1525 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo/sub.c')
-rw-r--r--libvo/sub.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libvo/sub.c b/libvo/sub.c
index 6f49a9bfa0..1d07355426 100644
--- a/libvo/sub.c
+++ b/libvo/sub.c
@@ -137,7 +137,7 @@ inline static void vo_draw_text_sub(int dxs,int dys,void (*draw_alpha)(int x0,in
memdxs=dxs;
memdys=dys;
- memy=dys-vo_font->height/4;
+ memy=dys-vo_font->height/2;
// too long lines divide into smaller ones
i=k=lines=0; l=vo_sub->lines;
@@ -195,12 +195,14 @@ inline static void vo_draw_text_sub(int dxs,int dys,void (*draw_alpha)(int x0,in
k=i=0; l=lines;
while (l--){
x = xtbl[i++];
+ if(y<dys)
while ((c=utbl[k++])){
if (x>=0 && x+vo_font->width[c]<=dxs)
if ((font=vo_font->font[c])>=0)
draw_alpha(x,y,
vo_font->width[c],
- vo_font->pic_a[font]->h,
+// vo_font->pic_a[font]->h,
+ (y+vo_font->pic_a[font]->h<=dys)?vo_font->pic_a[font]->h:dys-y,
vo_font->pic_b[font]->bmp+vo_font->start[c],
vo_font->pic_a[font]->bmp+vo_font->start[c],
vo_font->pic_a[font]->w);