summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-11-07 15:28:12 +0100
committerwm4 <wm4@nowhere>2014-11-07 15:28:12 +0100
commit01141198be2beaec58928355b59ce5882027866e (patch)
tree0ee4ba73c31466dfe391daced581c99eb195ee0d
parent351608e5ccb9314684d10bedf9025b1e872641e9 (diff)
downloadmpv-01141198be2beaec58928355b59ce5882027866e.tar.bz2
mpv-01141198be2beaec58928355b59ce5882027866e.tar.xz
vo_opengl: initialize renderer after setting size
This silences the warning: video/out/gl_video.c:1091:51: runtime error: division by zero when running with clang -fsanitize=undefined. Division by zero is legal according to IEEE, but I guess clang doesn't care about standard. While triggering this warning isn't actually avoided in all cases, it's avoided in the common case and also makes people shut up about it.
-rw-r--r--video/out/gl_video.c2
-rw-r--r--video/out/vo_opengl.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/video/out/gl_video.c b/video/out/gl_video.c
index 97463b8adf..a0f23e9157 100644
--- a/video/out/gl_video.c
+++ b/video/out/gl_video.c
@@ -2324,6 +2324,8 @@ void gl_video_config(struct gl_video *p, struct mp_image_params *params)
uninit_video(p);
init_video(p, params);
}
+
+ check_resize(p);
}
void gl_video_set_output_depth(struct gl_video *p, int r, int g, int b)
diff --git a/video/out/vo_opengl.c b/video/out/vo_opengl.c
index 4e1b1a53ea..0c35ca3ee0 100644
--- a/video/out/vo_opengl.c
+++ b/video/out/vo_opengl.c
@@ -225,12 +225,12 @@ static int reconfig(struct vo *vo, struct mp_image_params *params, int flags)
p->glctx->register_resize_callback(vo, video_resize_redraw_callback);
}
+ resize(p);
+
gl_video_config(p->renderer, params);
p->vo_flipped = !!(flags & VOFLAG_FLIPPING);
- resize(p);
-
mpgl_unlock(p->glctx);
return 0;