xcb_get_geometry_reply_t *reply;
xcb_generic_error_t *error;
- *w = *h = 0;
+ *x = *y = *w = *h = 0;
cookie = xcb_get_geometry (dri2_dpy->conn, dri2_surf->drawable);
reply = xcb_get_geometry_reply (dri2_dpy->conn, cookie, &error);
if (reply == NULL)
_eglLog(_EGL_WARNING, "error in xcb_get_geometry");
free(error);
} else {
+ *x = reply->x;
+ *y = reply->y;
*w = reply->width;
*h = reply->height;
}
dri2_egl_display(dri2_surf->base.Resource.Display);
xcb_rectangle_t rectangle;
- dri2_surf->buffer_count = count;
dri2_surf->have_fake_front = false;
/* This assumes the DRI2 buffer attachment tokens matches the
error != NULL || xfixes_query->major_version < 2) {
_eglLog(_EGL_WARNING, "DRI2: failed to query xfixes version");
free(error);
+ free(xfixes_query);
return EGL_FALSE;
}
free(xfixes_query);
struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
struct dri2_egl_surface *dri2_surf = dri2_egl_surface(surf);
- if (interval > surf->Config->MaxSwapInterval)
- interval = surf->Config->MaxSwapInterval;
- else if (interval < surf->Config->MinSwapInterval)
- interval = surf->Config->MinSwapInterval;
-
- if (interval != surf->SwapInterval && dri2_dpy->swap_available)
+ if (dri2_dpy->swap_available)
xcb_dri2_swap_interval(dri2_dpy->conn, dri2_surf->drawable, interval);
- surf->SwapInterval = interval;
-
return EGL_TRUE;
}