diff --git a/libavdevice/xcbgrab.c b/libavdevice/xcbgrab.c index f2b913508a..ca85186087 100644 --- a/libavdevice/xcbgrab.c +++ b/libavdevice/xcbgrab.c @@ -106,12 +106,17 @@ static int xcbgrab_reposition(AVFormatContext *s, xcb_get_geometry_reply_t *geo) { XCBGrabContext *c = s->priv_data; - int x = c->x, y = c->y, p_x = p->win_x, p_y = p->win_y; + int x, y, p_x, p_y; int w = c->width, h = c->height, f = c->follow_mouse; if (!p || !geo) return AVERROR(EIO); + x = c->x; + y = c->y; + p_x = p->win_x; + p_y = p->win_y; + if (f == FOLLOW_CENTER) { x = p_x - w / 2; y = p_y - h / 2;