[PATCH 1/2] Rename current, origin, scale, origin_scale

Hardening rdp.effort at gmail.com
Tue Sep 10 15:28:49 PDT 2013


This patch renames that fields to have consistent names.
---
 src/compositor-drm.c      | 58 +++++++++++++++++++++++------------------------
 src/compositor-fbdev.c    |  4 ++--
 src/compositor-headless.c |  4 ++--
 src/compositor-rdp.c      | 12 +++++-----
 src/compositor-rpi.c      |  4 ++--
 src/compositor-wayland.c  |  4 ++--
 src/compositor-x11.c      | 12 +++++-----
 src/compositor.c          | 26 ++++++++++-----------
 src/compositor.h          |  8 +++----
 src/evdev.c               |  8 +++----
 src/gl-renderer.c         | 14 ++++++------
 src/pixman-renderer.c     | 12 +++++-----
 src/rpi-renderer.c        |  4 ++--
 src/screenshooter.c       | 52 +++++++++++++++++++++---------------------
 14 files changed, 111 insertions(+), 111 deletions(-)

diff --git a/src/compositor-drm.c b/src/compositor-drm.c
index eb3ec61..01d52e4 100644
--- a/src/compositor-drm.c
+++ b/src/compositor-drm.c
@@ -449,8 +449,8 @@ drm_output_prepare_scanout_surface(struct weston_output *_output,
 	if (es->geometry.x != output->base.x ||
 	    es->geometry.y != output->base.y ||
 	    buffer == NULL || c->gbm == NULL ||
-	    buffer->width != output->base.current->width ||
-	    buffer->height != output->base.current->height ||
+	    buffer->width != output->base.current_mode->width ||
+	    buffer->height != output->base.current_mode->height ||
 	    output->base.transform != es->buffer_transform ||
 	    es->transform.enabled)
 		return NULL;
@@ -580,7 +580,7 @@ drm_output_repaint(struct weston_output *output_base,
 	if (!output->next)
 		return;
 
-	mode = container_of(output->base.current, struct drm_mode, base);
+	mode = container_of(output->base.current_mode, struct drm_mode, base);
 	if (!output->current) {
 		ret = drmModeSetCrtc(compositor->drm.fd, output->crtc_id,
 				     output->next->fb_id, 0, 0,
@@ -786,7 +786,7 @@ drm_output_prepare_overlay_surface(struct weston_output *output_base,
 	if (es->buffer_transform != output_base->transform)
 		return NULL;
 
-	if (es->buffer_scale != output_base->scale)
+	if (es->buffer_scale != output_base->current_scale)
 		return NULL;
 
 	if (c->sprites_are_broken)
@@ -858,7 +858,7 @@ drm_output_prepare_overlay_surface(struct weston_output *output_base,
 	tbox = weston_transformed_rect(output_base->width,
 				       output_base->height,
 				       output_base->transform,
-				       output_base->scale,
+				       output_base->current_scale,
 				       *box);
 	s->dest_x = tbox.x1;
 	s->dest_y = tbox.y1;
@@ -977,8 +977,8 @@ drm_output_set_cursor(struct drm_output *output)
 		}
 	}
 
-	x = (es->geometry.x - output->base.x) * output->base.scale;
-	y = (es->geometry.y - output->base.y) * output->base.scale;
+	x = (es->geometry.x - output->base.x) * output->base.current_scale;
+	y = (es->geometry.y - output->base.y) * output->base.current_scale;
 	if (output->cursor_plane.x != x || output->cursor_plane.y != y) {
 		if (drmModeMoveCursor(c->drm.fd, output->crtc_id, x, y)) {
 			weston_log("failed to move cursor: %m\n");
@@ -1099,11 +1099,11 @@ choose_mode (struct drm_output *output, struct weston_mode *target_mode)
 {
 	struct drm_mode *tmp_mode = NULL, *mode;
 
-	if (output->base.current->width == target_mode->width && 
-	    output->base.current->height == target_mode->height &&
-	    (output->base.current->refresh == target_mode->refresh ||
+	if (output->base.current_mode->width == target_mode->width && 
+	    output->base.current_mode->height == target_mode->height &&
+	    (output->base.current_mode->refresh == target_mode->refresh ||
 	     target_mode->refresh == 0))
-		return (struct drm_mode *)output->base.current;
+		return (struct drm_mode *)output->base.current_mode;
 
 	wl_list_for_each(mode, &output->base.mode_list, base.link) {
 		if (mode->mode_info.hdisplay == target_mode->width &&
@@ -1150,13 +1150,13 @@ drm_output_switch_mode(struct weston_output *output_base, struct weston_mode *mo
 		return -1;
 	}
 
-	if (&drm_mode->base == output->base.current)
+	if (&drm_mode->base == output->base.current_mode)
 		return 0;
 
-	output->base.current->flags = 0;
+	output->base.current_mode->flags = 0;
 
-	output->base.current = &drm_mode->base;
-	output->base.current->flags =
+	output->base.current_mode = &drm_mode->base;
+	output->base.current_mode->flags =
 		WL_OUTPUT_MODE_CURRENT | WL_OUTPUT_MODE_PREFERRED;
 
 	/* reset rendering stuff. */
@@ -1438,8 +1438,8 @@ drm_output_init_egl(struct drm_output *output, struct drm_compositor *ec)
 	int i, flags;
 
 	output->surface = gbm_surface_create(ec->gbm,
-					     output->base.current->width,
-					     output->base.current->height,
+					     output->base.current_mode->width,
+					     output->base.current_mode->height,
 					     GBM_FORMAT_XRGB8888,
 					     GBM_BO_USE_SCANOUT |
 					     GBM_BO_USE_RENDERING);
@@ -1476,8 +1476,8 @@ drm_output_init_egl(struct drm_output *output, struct drm_compositor *ec)
 static int
 drm_output_init_pixman(struct drm_output *output, struct drm_compositor *c)
 {
-	int w = output->base.current->width;
-	int h = output->base.current->height;
+	int w = output->base.current_mode->width;
+	int h = output->base.current_mode->height;
 	unsigned int i;
 
 	/* FIXME error checking */
@@ -1897,20 +1897,20 @@ create_output_for_connector(struct drm_compositor *ec,
 		configured = current;
 
 	if (option_current_mode && current)
-		output->base.current = &current->base;
+		output->base.current_mode = &current->base;
 	else if (configured)
-		output->base.current = &configured->base;
+		output->base.current_mode = &configured->base;
 	else if (preferred)
-		output->base.current = &preferred->base;
+		output->base.current_mode = &preferred->base;
 	else if (current)
-		output->base.current = &current->base;
+		output->base.current_mode = &current->base;
 
-	if (output->base.current == NULL) {
+	if (output->base.current_mode == NULL) {
 		weston_log("no available modes for %s\n", output->base.name);
 		goto err_free;
 	}
 
-	output->base.current->flags |= WL_OUTPUT_MODE_CURRENT;
+	output->base.current_mode->flags |= WL_OUTPUT_MODE_CURRENT;
 
 	weston_output_init(&output->base, &ec->base, x, y,
 			   connector->mmWidth, connector->mmHeight,
@@ -1943,7 +1943,7 @@ create_output_for_connector(struct drm_compositor *ec,
 	if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS)
 		output->base.connection_internal = 1;
 
-	output->base.origin = output->base.current;
+	output->base.original_mode = output->base.current_mode;
 	output->base.start_repaint_loop = drm_output_start_repaint_loop;
 	output->base.repaint = drm_output_repaint;
 	output->base.destroy = drm_output_destroy;
@@ -2292,7 +2292,7 @@ drm_compositor_set_modes(struct drm_compositor *compositor)
 			continue;
 		}
 
-		drm_mode = (struct drm_mode *) output->base.current;
+		drm_mode = (struct drm_mode *) output->base.current_mode;
 		ret = drmModeSetCrtc(compositor->drm.fd, output->crtc_id,
 				     output->current->fb_id, 0, 0,
 				     &output->connector_id, 1,
@@ -2504,8 +2504,8 @@ recorder_binding(struct weston_seat *seat, uint32_t time, uint32_t key,
 			      struct drm_output, base.link);
 
 	if (!output->recorder) {
-		width = output->base.current->width;
-		height = output->base.current->height;
+		width = output->base.current_mode->width;
+		height = output->base.current_mode->height;
 
 		output->recorder =
 			create_recorder(c, width, height, "capture.h264");
diff --git a/src/compositor-fbdev.c b/src/compositor-fbdev.c
index 7a6f255..4f661b4 100644
--- a/src/compositor-fbdev.c
+++ b/src/compositor-fbdev.c
@@ -512,8 +512,8 @@ fbdev_output_create(struct fbdev_compositor *compositor,
 	wl_list_init(&output->base.mode_list);
 	wl_list_insert(&output->base.mode_list, &output->mode.link);
 
-	output->base.current = &output->mode;
-	output->base.origin = &output->mode;
+	output->base.current_mode = &output->mode;
+	output->base.original_mode = &output->mode;
 	output->base.subpixel = WL_OUTPUT_SUBPIXEL_UNKNOWN;
 	output->base.make = "unknown";
 	output->base.model = output->fb_info.id;
diff --git a/src/compositor-headless.c b/src/compositor-headless.c
index 4a0cc7f..3761be1 100644
--- a/src/compositor-headless.c
+++ b/src/compositor-headless.c
@@ -107,7 +107,7 @@ headless_compositor_create_output(struct headless_compositor *c,
 	wl_list_init(&output->base.mode_list);
 	wl_list_insert(&output->base.mode_list, &output->mode.link);
 
-	output->base.current = &output->mode;
+	output->base.current_mode = &output->mode;
 	weston_output_init(&output->base, &c->base, 0, 0, width, height,
 			   WL_OUTPUT_TRANSFORM_NORMAL, 1);
 
@@ -120,7 +120,7 @@ headless_compositor_create_output(struct headless_compositor *c,
 	output->finish_frame_timer =
 		wl_event_loop_add_timer(loop, finish_frame_handler, output);
 
-	output->base.origin = output->base.current;
+	output->base.original_mode = output->base.current_mode;
 	output->base.start_repaint_loop = headless_output_start_repaint_loop;
 	output->base.repaint = headless_output_repaint;
 	output->base.destroy = headless_output_destroy;
diff --git a/src/compositor-rdp.c b/src/compositor-rdp.c
index 4d369cc..642a6b7 100644
--- a/src/compositor-rdp.c
+++ b/src/compositor-rdp.c
@@ -369,12 +369,12 @@ rdp_switch_mode(struct weston_output *output, struct weston_mode *target_mode) {
 		return -ENOENT;
 	}
 
-	if(local_mode == output->current)
+	if(local_mode == output->current_mode)
 		return 0;
 
-	output->current->flags = 0;
-	output->current = local_mode;
-	output->current->flags = WL_OUTPUT_MODE_CURRENT | WL_OUTPUT_MODE_PREFERRED;
+	output->current_mode->flags = 0;
+	output->current_mode = local_mode;
+	output->current_mode->flags = WL_OUTPUT_MODE_CURRENT | WL_OUTPUT_MODE_PREFERRED;
 
 	pixman_renderer_output_destroy(output);
 	pixman_renderer_output_create(output);
@@ -466,7 +466,7 @@ rdp_compositor_create_output(struct rdp_compositor *c, int width, int height,
 		goto out_free_output_and_modes;
 	}
 
-	output->base.current = currentMode;
+	output->base.current_mode = currentMode;
 	weston_output_init(&output->base, &c->base, 0, 0, width, height,
 			   WL_OUTPUT_TRANSFORM_NORMAL, 1);
 
@@ -489,7 +489,7 @@ rdp_compositor_create_output(struct rdp_compositor *c, int width, int height,
 	loop = wl_display_get_event_loop(c->base.wl_display);
 	output->finish_frame_timer = wl_event_loop_add_timer(loop, finish_frame_handler, output);
 
-	output->base.origin = output->base.current;
+	output->base.original_mode = output->base.current_mode;
 	output->base.start_repaint_loop = rdp_output_start_repaint_loop;
 	output->base.repaint = rdp_output_repaint;
 	output->base.destroy = rdp_output_destroy;
diff --git a/src/compositor-rpi.c b/src/compositor-rpi.c
index a0ac6d3..a5322e0 100644
--- a/src/compositor-rpi.c
+++ b/src/compositor-rpi.c
@@ -368,8 +368,8 @@ rpi_output_create(struct rpi_compositor *compositor, uint32_t transform)
 	wl_list_init(&output->base.mode_list);
 	wl_list_insert(&output->base.mode_list, &output->mode.link);
 
-	output->base.current = &output->mode;
-	output->base.origin = &output->mode;
+	output->base.current_mode = &output->mode;
+	output->base.original_mode = &output->mode;
 	output->base.subpixel = WL_OUTPUT_SUBPIXEL_UNKNOWN;
 	output->base.make = "unknown";
 	output->base.model = "unknown";
diff --git a/src/compositor-wayland.c b/src/compositor-wayland.c
index fbaeb29..4caad81 100644
--- a/src/compositor-wayland.c
+++ b/src/compositor-wayland.c
@@ -261,7 +261,7 @@ wayland_compositor_create_output(struct wayland_compositor *c,
 	wl_list_init(&output->base.mode_list);
 	wl_list_insert(&output->base.mode_list, &output->mode.link);
 
-	output->base.current = &output->mode;
+	output->base.current_mode = &output->mode;
 	weston_output_init(&output->base, &c->base, 0, 0, width, height,
 			   WL_OUTPUT_TRANSFORM_NORMAL, 1);
 
@@ -295,7 +295,7 @@ wayland_compositor_create_output(struct wayland_compositor *c,
 				      &shell_surface_listener, output);
 	wl_shell_surface_set_toplevel(output->parent.shell_surface);
 
-	output->base.origin = output->base.current;
+	output->base.original_mode = output->base.current_mode;
 	output->base.start_repaint_loop = wayland_output_start_repaint_loop;
 	output->base.repaint = wayland_output_repaint;
 	output->base.destroy = wayland_output_destroy;
diff --git a/src/compositor-x11.c b/src/compositor-x11.c
index a896612..c53bb49 100644
--- a/src/compositor-x11.c
+++ b/src/compositor-x11.c
@@ -420,10 +420,10 @@ set_clip_for_output(struct weston_output *output_base, pixman_region32_t *region
 			break;
 		}
 
-		transformed_rect.x1 *= output_base->scale;
-		transformed_rect.y1 *= output_base->scale;
-		transformed_rect.x2 *= output_base->scale;
-		transformed_rect.y2 *= output_base->scale;
+		transformed_rect.x1 *= output_base->current_scale;
+		transformed_rect.y1 *= output_base->current_scale;
+		transformed_rect.x2 *= output_base->current_scale;
+		transformed_rect.y2 *= output_base->current_scale;
 
 		output_rects[i].x = transformed_rect.x1;
 		output_rects[i].y = transformed_rect.y1;
@@ -891,8 +891,8 @@ x11_compositor_create_output(struct x11_compositor *c, int x, int y,
 	output->base.set_backlight = NULL;
 	output->base.set_dpms = NULL;
 	output->base.switch_mode = NULL;
-	output->base.current = &output->mode;
-	output->base.origin = output->base.current;
+	output->base.current_mode = &output->mode;
+	output->base.original_mode = output->base.current_mode;
 	output->base.make = "xwayland";
 	output->base.model = "none";
 	weston_output_init(&output->base, &c->base,
diff --git a/src/compositor.c b/src/compositor.c
index 74f0aab..4787857 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -109,13 +109,13 @@ weston_output_switch_mode(struct weston_output *output, struct weston_mode *mode
 	if (ret < 0)
 		return ret;
 
-        output->scale = scale;
+        output->current_scale = scale;
 
 	pixman_region32_init(&old_output_region);
 	pixman_region32_copy(&old_output_region, &output->region);
 
 	/* Update output region and transformation matrix */
-	weston_output_transform_scale_init(output, output->transform, output->scale);
+	weston_output_transform_scale_init(output, output->transform, output->current_scale);
 
 	pixman_region32_init(&output->previous_damage);
 	pixman_region32_init_rect(&output->region, output->x, output->y,
@@ -2584,7 +2584,7 @@ bind_output(struct wl_client *client,
 				output->transform);
 	if (version >= 2)
 		wl_output_send_scale(resource,
-				     output->scale);
+				     output->current_scale);
 
 	wl_list_for_each (mode, &output->mode_list, link) {
 		wl_output_send_mode(resource,
@@ -2713,21 +2713,21 @@ weston_output_transform_scale_init(struct weston_output *output, uint32_t transf
 	case WL_OUTPUT_TRANSFORM_FLIPPED_90:
 	case WL_OUTPUT_TRANSFORM_FLIPPED_270:
 		/* Swap width and height */
-		output->width = output->current->height;
-		output->height = output->current->width;
+		output->width = output->current_mode->height;
+		output->height = output->current_mode->width;
 		break;
 	case WL_OUTPUT_TRANSFORM_NORMAL:
 	case WL_OUTPUT_TRANSFORM_180:
 	case WL_OUTPUT_TRANSFORM_FLIPPED:
 	case WL_OUTPUT_TRANSFORM_FLIPPED_180:
-		output->width = output->current->width;
-		output->height = output->current->height;
+		output->width = output->current_mode->width;
+		output->height = output->current_mode->height;
 		break;
 	default:
 		break;
 	}
 
-        output->scale = scale;
+        output->current_scale = scale;
 	output->width /= scale;
 	output->height /= scale;
 }
@@ -2759,7 +2759,7 @@ weston_output_init(struct weston_output *output, struct weston_compositor *c,
 	output->mm_width = mm_width;
 	output->mm_height = mm_height;
 	output->dirty = 1;
-	output->origin_scale = scale;
+	output->original_scale = scale;
 
 	weston_output_transform_scale_init(output, transform, scale);
 	weston_output_init_zoom(output);
@@ -2789,8 +2789,8 @@ weston_output_transform_coordinate(struct weston_output *output,
 	wl_fixed_t tx, ty;
 	wl_fixed_t width, height;
 
-	width = wl_fixed_from_int(output->width * output->scale - 1);
-	height = wl_fixed_from_int(output->height * output->scale - 1);
+	width = wl_fixed_from_int(output->width * output->current_scale - 1);
+	height = wl_fixed_from_int(output->height * output->current_scale - 1);
 
 	switch(output->transform) {
 	case WL_OUTPUT_TRANSFORM_NORMAL:
@@ -2828,8 +2828,8 @@ weston_output_transform_coordinate(struct weston_output *output,
 		break;
 	}
 
-	*x = tx / output->scale + wl_fixed_from_int(output->x);
-	*y = ty / output->scale + wl_fixed_from_int(output->y);
+	*x = tx / output->current_scale + wl_fixed_from_int(output->x);
+	*y = ty / output->current_scale + wl_fixed_from_int(output->y);
 }
 
 static void
diff --git a/src/compositor.h b/src/compositor.h
index 28757d9..49365fd 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -201,11 +201,11 @@ struct weston_output {
 	char *make, *model, *serial_number;
 	uint32_t subpixel;
 	uint32_t transform;
-	int32_t scale;
+	int32_t current_scale;
 
-	struct weston_mode *current;
-	struct weston_mode *origin;
-	int32_t origin_scale;
+	struct weston_mode *current_mode;
+	struct weston_mode *original_mode;
+	int32_t original_scale;
 	struct wl_list mode_list;
 
 	void (*start_repaint_loop)(struct weston_output *output);
diff --git a/src/evdev.c b/src/evdev.c
index a3d274a..2367d56 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -104,8 +104,8 @@ evdev_process_key(struct evdev_device *device, struct input_event *e, int time)
 static void
 evdev_process_touch(struct evdev_device *device, struct input_event *e)
 {
-	const int screen_width = device->output->current->width;
-	const int screen_height = device->output->current->height;
+	const int screen_width = device->output->current_mode->width;
+	const int screen_height = device->output->current_mode->height;
 
 	switch (e->code) {
 	case ABS_MT_SLOT:
@@ -136,8 +136,8 @@ static inline void
 evdev_process_absolute_motion(struct evdev_device *device,
 			      struct input_event *e)
 {
-	const int screen_width = device->output->current->width;
-	const int screen_height = device->output->current->height;
+	const int screen_width = device->output->current_mode->width;
+	const int screen_height = device->output->current_mode->height;
 
 	switch (e->code) {
 	case ABS_X:
diff --git a/src/gl-renderer.c b/src/gl-renderer.c
index af8011b..3448bdb 100644
--- a/src/gl-renderer.c
+++ b/src/gl-renderer.c
@@ -790,7 +790,7 @@ draw_surface(struct weston_surface *es, struct weston_output *output,
 	use_shader(gr, gs->shader);
 	shader_uniforms(gs->shader, es, output);
 
-	if (es->transform.enabled || output->zoom.active || output->scale != es->buffer_scale)
+	if (es->transform.enabled || output->zoom.active || output->current_scale != es->buffer_scale)
 		filter = GL_LINEAR;
 	else
 		filter = GL_NEAREST;
@@ -862,13 +862,13 @@ texture_border(struct weston_output *output)
 
 	x[0] = -gr->border.left;
 	x[1] = 0;
-	x[2] = output->current->width;
-	x[3] = output->current->width + gr->border.right;
+	x[2] = output->current_mode->width;
+	x[3] = output->current_mode->width + gr->border.right;
 
 	y[0] = -gr->border.top;
 	y[1] = 0;
-	y[2] = output->current->height;
-	y[3] = output->current->height + gr->border.bottom;
+	y[2] = output->current_mode->height;
+	y[3] = output->current_mode->height + gr->border.bottom;
 
 	u[0] = 0.0;
 	u[1] = (GLfloat) gr->border.left / gr->border.width;
@@ -1022,9 +1022,9 @@ gl_renderer_repaint_output(struct weston_output *output,
 	int32_t width, height;
 	pixman_region32_t buffer_damage, total_damage;
 
-	width = output->current->width +
+	width = output->current_mode->width +
 		output->border.left + output->border.right;
-	height = output->current->height +
+	height = output->current_mode->height +
 		output->border.top + output->border.bottom;
 
 	glViewport(0, 0, width, height);
diff --git a/src/pixman-renderer.c b/src/pixman-renderer.c
index 31b7e58..987c539 100644
--- a/src/pixman-renderer.c
+++ b/src/pixman-renderer.c
@@ -217,7 +217,7 @@ region_global_to_output(struct weston_output *output, pixman_region32_t *region)
 {
 	pixman_region32_translate(region, -output->x, -output->y);
 	transform_region (region, output->width, output->height, output->transform);
-	scale_region (region, output->scale);
+	scale_region (region, output->current_scale);
 }
 
 #define D2F(v) pixman_double_to_fixed((double)v)
@@ -271,8 +271,8 @@ repaint_region(struct weston_surface *es, struct weston_output *output,
 	   specified buffer transform/scale */
 	pixman_transform_init_identity(&transform);
 	pixman_transform_scale(&transform, NULL,
-			       pixman_double_to_fixed ((double)1.0/output->scale),
-			       pixman_double_to_fixed ((double)1.0/output->scale));
+			       pixman_double_to_fixed ((double)1.0/output->current_scale),
+			       pixman_double_to_fixed ((double)1.0/output->current_scale));
 
 	fw = pixman_int_to_fixed(output->width);
 	fh = pixman_int_to_fixed(output->height);
@@ -385,7 +385,7 @@ repaint_region(struct weston_surface *es, struct weston_output *output,
 
 	pixman_image_set_transform(ps->image, &transform);
 
-	if (es->transform.enabled || output->scale != es->buffer_scale)
+	if (es->transform.enabled || output->current_scale != es->buffer_scale)
 		pixman_image_set_filter(ps->image, PIXMAN_FILTER_BILINEAR, NULL, 0);
 	else
 		pixman_image_set_filter(ps->image, PIXMAN_FILTER_NEAREST, NULL, 0);
@@ -711,8 +711,8 @@ pixman_renderer_output_create(struct weston_output *output)
 		return -1;
 
 	/* set shadow image transformation */
-	w = output->current->width;
-	h = output->current->height;
+	w = output->current_mode->width;
+	h = output->current_mode->height;
 
 	po->shadow_buffer = malloc(w * h * 4);
 
diff --git a/src/rpi-renderer.c b/src/rpi-renderer.c
index be520a6..3ba5fc4 100644
--- a/src/rpi-renderer.c
+++ b/src/rpi-renderer.c
@@ -896,8 +896,8 @@ rpi_renderer_read_pixels(struct weston_output *base,
 	uint32_t i;
 	int ret;
 
-	fb_width = base->current->width;
-	fb_height = base->current->height;
+	fb_width = base->current_mode->width;
+	fb_height = base->current_mode->height;
 
 	DBG("%s(%u, %u, %u, %u), resource %p\n", __func__,
 	    x, y, width, height, buffer);
diff --git a/src/screenshooter.c b/src/screenshooter.c
index a89194e..645114d 100644
--- a/src/screenshooter.c
+++ b/src/screenshooter.c
@@ -136,8 +136,8 @@ screenshooter_frame_notify(struct wl_listener *listener, void *data)
 
 	compositor->renderer->read_pixels(output,
 			     compositor->read_format, pixels,
-			     0, 0, output->current->width,
-			     output->current->height);
+			     0, 0, output->current_mode->width,
+			     output->current_mode->height);
 
 	stride = wl_shm_buffer_get_stride(l->buffer->shm_buffer);
 
@@ -148,16 +148,16 @@ screenshooter_frame_notify(struct wl_listener *listener, void *data)
 	case PIXMAN_a8r8g8b8:
 	case PIXMAN_x8r8g8b8:
 		if (compositor->capabilities & WESTON_CAP_CAPTURE_YFLIP)
-			copy_bgra_yflip(d, s, output->current->height, stride);
+			copy_bgra_yflip(d, s, output->current_mode->height, stride);
 		else
-			copy_bgra(d, pixels, output->current->height, stride);
+			copy_bgra(d, pixels, output->current_mode->height, stride);
 		break;
 	case PIXMAN_x8b8g8r8:
 	case PIXMAN_a8b8g8r8:
 		if (compositor->capabilities & WESTON_CAP_CAPTURE_YFLIP)
-			copy_rgba_yflip(d, s, output->current->height, stride);
+			copy_rgba_yflip(d, s, output->current_mode->height, stride);
 		else
-			copy_rgba(d, pixels, output->current->height, stride);
+			copy_rgba(d, pixels, output->current_mode->height, stride);
 		break;
 	default:
 		break;
@@ -191,8 +191,8 @@ screenshooter_shoot(struct wl_client *client,
 	buffer->width = wl_shm_buffer_get_width(buffer->shm_buffer);
 	buffer->height = wl_shm_buffer_get_height(buffer->shm_buffer);
 
-	if (buffer->width < output->current->width ||
-	    buffer->height < output->current->height)
+	if (buffer->width < output->current_mode->width ||
+	    buffer->height < output->current_mode->height)
 		return;
 
 	l = malloc(sizeof *l);
@@ -322,33 +322,33 @@ transform_rect(struct weston_output *output, pixman_box32_t *r)
                 break;
         case WL_OUTPUT_TRANSFORM_90:
         case WL_OUTPUT_TRANSFORM_FLIPPED_90:
-		r->x1 = output->current->width - s.y2;
+		r->x1 = output->current_mode->width - s.y2;
 		r->y1 = s.x1;
-		r->x2 = output->current->width - s.y1;
+		r->x2 = output->current_mode->width - s.y1;
 		r->y2 = s.x2;
                 break;
         case WL_OUTPUT_TRANSFORM_180:
         case WL_OUTPUT_TRANSFORM_FLIPPED_180:
-		r->x1 = output->current->width - s.x2;
-		r->y1 = output->current->height - s.y2;
-		r->x2 = output->current->width - s.x1;
-		r->y2 = output->current->height - s.y1;
+		r->x1 = output->current_mode->width - s.x2;
+		r->y1 = output->current_mode->height - s.y2;
+		r->x2 = output->current_mode->width - s.x1;
+		r->y2 = output->current_mode->height - s.y1;
                 break;
         case WL_OUTPUT_TRANSFORM_270:
         case WL_OUTPUT_TRANSFORM_FLIPPED_270:
 		r->x1 = s.y1; 
-		r->y1 = output->current->height - s.x2;
+		r->y1 = output->current_mode->height - s.x2;
 		r->x2 = s.y2; 
-		r->y2 = output->current->height - s.x1;
+		r->y2 = output->current_mode->height - s.x1;
                 break;
         default:
                 break;
         }
 
-	r->x1 *= output->scale;
-	r->y1 *= output->scale;
-	r->x2 *= output->scale;
-	r->y2 *= output->scale;
+	r->x1 *= output->current_scale;
+	r->y1 *= output->current_scale;
+	r->x2 *= output->current_scale;
+	r->y2 *= output->current_scale;
 }
 
 static void
@@ -396,14 +396,14 @@ weston_recorder_frame_notify(struct wl_listener *listener, void *data)
 	v[1].iov_base = r;
 	v[1].iov_len = n * sizeof *r;
 	recorder->total += writev(recorder->fd, v, 2);
-	stride = output->current->width;
+	stride = output->current_mode->width;
 
 	for (i = 0; i < n; i++) {
 		width = r[i].x2 - r[i].x1;
 		height = r[i].y2 - r[i].y1;
 
 		if (do_yflip)
-			y_orig = output->current->height - r[i].y2;
+			y_orig = output->current_mode->height - r[i].y2;
 		else
 			y_orig = r[i].y1;
 
@@ -467,8 +467,8 @@ weston_recorder_create(struct weston_output *output, const char *filename)
 
 	recorder = malloc(sizeof *recorder);
 
-	stride = output->current->width;
-	size = stride * 4 * output->current->height;
+	stride = output->current_mode->width;
+	size = stride * 4 * output->current_mode->height;
 	recorder->frame = zalloc(size);
 	recorder->rect = malloc(size);
 	recorder->total = 0;
@@ -505,8 +505,8 @@ weston_recorder_create(struct weston_output *output, const char *filename)
 		return;
 	}
 
-	header.width = output->current->width;
-	header.height = output->current->height;
+	header.width = output->current_mode->width;
+	header.height = output->current_mode->height;
 	recorder->total += write(recorder->fd, &header, sizeof header);
 
 	recorder->frame_listener.notify = weston_recorder_frame_notify;
-- 
1.8.1.2



More information about the wayland-devel mailing list