[gtk+] wayland: don't pass in width and height to create_shm_pool
- From: Ray Strode <halfline src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] wayland: don't pass in width and height to create_shm_pool
- Date: Wed, 20 Jan 2016 19:29:50 +0000 (UTC)
commit 5150849a67f0c5d4d1649f33047cbb23500c88b0
Author: Ray Strode <rstrode redhat com>
Date: Wed Jan 20 12:35:44 2016 -0500
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
gdk/wayland/gdkdisplay-wayland.c | 9 +++------
1 files changed, 3 insertions(+), 6 deletions(-)
---
diff --git a/gdk/wayland/gdkdisplay-wayland.c b/gdk/wayland/gdkdisplay-wayland.c
index bf3c20c..7c19a5c 100644
--- a/gdk/wayland/gdkdisplay-wayland.c
+++ b/gdk/wayland/gdkdisplay-wayland.c
@@ -924,14 +924,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);
@@ -943,8 +942,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",
@@ -1008,7 +1005,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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]