Commit 0443756f authored by Ray Strode's avatar Ray Strode Committed by Matthias Clasen

wayland: don't pass in width and height to create_shm_pool

create_shm_pool doesn't need the width or height, it just needs
the total size.  By passing it in, we're requiring it to redo
stride calculation unnecessarily.

This commit drops the width and height parameters and makes the
function just take the total size directly.

https://bugzilla.gnome.org/show_bug.cgi?id=760897
parent 6c192a88
......@@ -975,14 +975,13 @@ static const struct wl_buffer_listener buffer_listener = {
static struct wl_shm_pool *
create_shm_pool (struct wl_shm *shm,
int width,
int height,
int size,
size_t *buf_length,
void **data_out)
{
char filename[] = "/tmp/wayland-shm-XXXXXX";
struct wl_shm_pool *pool;
int fd, size, stride;
int fd;
void *data;
fd = mkstemp (filename);
......@@ -994,8 +993,6 @@ create_shm_pool (struct wl_shm *shm,
}
unlink (filename);
stride = width * 4;
size = stride * height;
if (ftruncate (fd, size) < 0)
{
g_critical (G_STRLOC ": Truncating temporary file failed: %s",
......@@ -1059,7 +1056,7 @@ _gdk_wayland_display_create_shm_surface (GdkWaylandDisplay *display,
stride = cairo_format_stride_for_width (CAIRO_FORMAT_ARGB32, width*scale);
data->pool = create_shm_pool (display->shm,
width*scale, height*scale,
height*scale*stride,
&data->buf_length,
&data->buf);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment