aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAri Roponen2018-05-06 15:29:28 +0300
committerEli Zaretskii2018-05-06 21:27:57 +0300
commit6e362a32bc9d21f73a0f29ca6f45481edeea6f29 (patch)
tree76a9f86b0417b24e0a942d219183966e21b1c11f
parent91e582a31ada28fab5ae55bdbf959a9d30796587 (diff)
downloademacs-6e362a32bc9d21f73a0f29ca6f45481edeea6f29.tar.gz
emacs-6e362a32bc9d21f73a0f29ca6f45481edeea6f29.zip
Fix cairo scrolling for side-by-side windows
* src/xterm.c (x_scroll_run) [USE_CAIRO]: Fix scrolling for side-by-side split windows. (Bug#31288)
-rw-r--r--src/xterm.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/xterm.c b/src/xterm.c
index 35e10568fa7..3f956d950d8 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -4260,6 +4260,7 @@ x_scroll_run (struct window *w, struct run *run)
4260#ifdef USE_CAIRO 4260#ifdef USE_CAIRO
4261 if (FRAME_CR_CONTEXT (f)) 4261 if (FRAME_CR_CONTEXT (f))
4262 { 4262 {
4263 int wx = WINDOW_LEFT_EDGE_X (w);
4263 cairo_surface_t *s = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 4264 cairo_surface_t *s = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
4264 width, height); 4265 width, height);
4265 cairo_t *cr = cairo_create (s); 4266 cairo_t *cr = cairo_create (s);
@@ -4270,8 +4271,8 @@ x_scroll_run (struct window *w, struct run *run)
4270 4271
4271 cr = FRAME_CR_CONTEXT (f); 4272 cr = FRAME_CR_CONTEXT (f);
4272 cairo_save (cr); 4273 cairo_save (cr);
4273 cairo_set_source_surface (cr, s, 0, to_y); 4274 cairo_set_source_surface (cr, s, wx, to_y);
4274 cairo_rectangle (cr, x, to_y, width, height); 4275 cairo_rectangle (cr, wx, to_y, width, height);
4275 cairo_fill (cr); 4276 cairo_fill (cr);
4276 cairo_restore (cr); 4277 cairo_restore (cr);
4277 cairo_surface_destroy (s); 4278 cairo_surface_destroy (s);