Files
emacs/src
YAMAMOTO Mitsuharu b87e5eea1d Avoid triple buffering with Xdbe in cairo
* src/xterm.h (struct x_output): Remove member cr_surface.
Add members cr_surface_desired_width and cr_surface_desired_height.
(x_cr_destroy_frame_context) [USE_CAIRO]: Add extern.

* src/xterm.c (x_free_cr_resources): Remove function.
(FRAME_CR_SURFACE) [USE_CAIRO]: Remove macro.
(FRAME_CR_SURFACE_DESIRED_WIDTH, FRAME_CR_SURFACE_DESIRED_HEIGHT) [USE_CAIRO]:
New macros.
(x_cr_destroy_frame_context) [USE_CAIRO]: Rename from x_cr_destroy_surface.
All Uses changed.  Don't use FRAME_CR_SURFACE.  Make non-static.
(x_cr_update_surface_desired_size) [USE_CAIRO]: New function.
(x_begin_cr_clip) [USE_CAIRO]: Create Xlib surface if Xdbe is in use.
Use FRAME_CR_SURFACE_DESIRED_WIDTH and FRAME_CR_SURFACE_DESIRED_HEIGHT.
(x_end_cr_clip) [USE_CAIRO]: Call x_mark_frame_dirty if Xdbe is in use.
(x_cr_draw_frame, x_cr_export_frames) [USE_CAIRO]: Save and restore cairo
context instead of freeing and clearing it.
(x_update_begin) [USE_CAIRO]: Don't create cairo surface here.
(show_back_buffer) [USE_CAIRO]: Call cairo_surface_flush before swapping.
(x_update_end) [USE_CAIRO]: Don't copy image surface if Xdbe is in use.
Get image surface by cairo_get_target instead of FRAME_CR_SURFACE.
(x_scroll_run) [USE_CAIRO]: Use XCopyArea if Xdbe is in use.
(handle_one_xevent) [USE_CAIRO] <ConfigureNotify>: Call
x_cr_update_surface_desired_size instead of x_cr_destroy_surface.
(x_free_frame_resources) [USE_CAIRO]: Call x_cr_destroy_frame_context instead
of x_free_cr_resources.

* src/xfns.c (set_up_x_back_buffer, tear_down_x_back_buffer) [USE_CAIRO]:
Call x_cr_destroy_frame_context.
2019-05-19 08:35:40 +09:00
..
2019-05-04 19:19:58 +03:00
2019-05-13 12:43:39 -07:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-05-04 10:17:09 -07:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-01-15 17:37:36 -05:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-12 14:47:33 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-12 14:47:33 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-08-07 18:08:53 -06:00
2018-12-09 00:23:55 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-31 10:31:43 -08:00
2019-04-28 17:14:39 +03:00
2019-04-28 17:14:39 +03:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2017-10-01 18:31:10 -07:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2018-12-31 17:57:29 -08:00
2019-04-10 21:00:47 -07:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-04-26 10:39:24 +03:00
2019-04-10 09:07:16 -07:00
2019-01-01 01:01:13 +00:00
2019-05-17 18:43:28 -07:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-03-04 00:05:04 -08:00
2019-04-26 16:54:17 -06:00
2019-01-01 01:01:13 +00:00
2019-04-27 15:27:36 +09:00
2019-04-27 15:27:36 +09:00
2019-01-15 17:37:36 -05:00
2019-01-15 17:37:36 -05:00
2019-01-01 01:01:13 +00:00
2019-01-15 17:37:36 -05:00
2019-03-04 00:05:04 -08:00
2019-01-01 01:01:13 +00:00
2019-04-26 16:54:17 -06:00
2019-01-01 01:01:13 +00:00
2019-05-14 17:18:18 -07:00
2019-01-01 01:01:13 +00:00
2019-05-07 12:28:10 -07:00
2019-04-28 17:14:39 +03:00
2019-03-15 18:25:24 -07:00
2019-03-04 00:05:04 -08:00
2019-01-01 01:01:13 +00:00
2019-02-01 13:05:39 -08:00
2018-12-31 17:57:29 -08:00
2019-05-17 18:43:28 -07:00
2019-05-15 10:27:55 -07:00
2019-01-01 01:01:13 +00:00
2019-04-29 09:12:53 -07:00
2019-02-27 01:23:30 -08:00
2019-01-01 01:01:13 +00:00
2019-04-24 12:31:37 +09:00
2019-04-26 16:54:17 -06:00
2018-12-31 18:47:22 -08:00
2019-04-28 13:17:30 -07:00
2019-04-28 13:17:30 -07:00
2019-04-17 09:32:40 -07:00
2019-04-26 16:54:17 -06:00
2019-01-15 17:37:36 -05:00
2019-04-26 16:54:17 -06:00
2019-04-26 16:54:17 -06:00
2018-12-31 17:57:29 -08:00
2019-04-25 13:23:07 -07:00
2019-04-19 14:03:16 +02:00
2018-12-31 18:47:22 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-03-27 21:24:26 -07:00
2019-03-27 21:24:26 -07:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-02-27 01:23:30 -08:00
2019-04-24 13:37:15 -07:00
2019-01-15 17:37:36 -05:00
2019-01-15 17:37:36 -05:00
2019-04-18 00:35:18 -07:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2019-04-22 12:25:53 -07:00
2019-04-24 13:17:53 +02:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-04-26 16:55:39 -06:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-04-24 13:37:15 -07:00
2019-04-24 13:37:15 -07:00
2019-01-01 01:01:13 +00:00
2018-12-31 17:57:29 -08:00
2019-02-27 01:23:30 -08:00
2019-01-01 01:01:13 +00:00
2019-02-01 13:05:39 -08:00
2018-12-31 17:57:29 -08:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-05-07 17:48:32 +03:00
2019-01-15 17:37:36 -05:00
2018-12-31 17:57:29 -08:00
2019-03-04 00:05:04 -08:00
2019-04-26 16:55:39 -06:00
2019-04-26 16:54:17 -06:00
2019-01-01 01:01:13 +00:00
2019-04-26 16:54:17 -06:00
2019-02-01 13:05:39 -08:00
2019-01-01 01:01:13 +00:00
2019-04-26 16:54:17 -06:00
2018-12-31 17:57:29 -08:00
2019-03-23 10:31:06 +02:00
2019-04-26 16:54:17 -06:00
2019-01-01 01:01:13 +00:00
2019-01-18 07:50:47 -08:00
2019-01-01 01:01:13 +00:00
2019-04-15 20:53:36 -07:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-04-26 16:54:17 -06:00
2019-05-10 17:26:12 -06:00
2019-05-10 17:26:12 -06:00
2019-02-08 09:05:11 +01:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00
2019-03-15 18:25:24 -07:00
2018-12-31 17:57:29 -08:00
2019-04-26 16:54:17 -06:00
2019-04-24 12:31:37 +09:00
2019-01-01 01:01:13 +00:00
2019-01-01 01:01:13 +00:00

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Copyright (C) 2001-2019 Free Software Foundation, Inc.
See the end of the file for license conditions.


This directory contains the source files for the C component of GNU Emacs.
Nothing in this directory is needed for using Emacs once it is built
and installed, if the dumped Emacs is copied elsewhere.

See the files ../README and then ../INSTALL for installation instructions.

The file 'Makefile.in' is used as a template by the script
'../configure' to produce 'Makefile'.  This is the file which actually
controls the compilation of Emacs C source files.  All of this should
work transparently; you should only need to change to the parent
directory, run './configure', and then run 'make'.

This file is part of GNU Emacs.

GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.