mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-08 15:35:02 +00:00
* terminal.c (initial_free_frame_resources): New function.
(init_initial_terminal): Install new hook to free face cache on initial frame and avoid memory leak. For details, see <http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01974.html>.
This commit is contained in:
parent
0a60cc0dbc
commit
6affb4a807
@ -1,3 +1,10 @@
|
||||
2014-01-28 Dmitry Antipov <dmantipov@yandex.ru>
|
||||
|
||||
* terminal.c (initial_free_frame_resources): New function.
|
||||
(init_initial_terminal): Install new hook to free face cache
|
||||
on initial frame and avoid memory leak. For details, see
|
||||
<http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01974.html>.
|
||||
|
||||
2014-01-26 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* data.c (Fstring_to_number): Document results if unparsable
|
||||
|
@ -500,7 +500,15 @@ selected frame's terminal). */)
|
||||
return store_terminal_param (t, parameter, value);
|
||||
}
|
||||
|
||||
|
||||
/* Initial frame has no device-dependent output data, but has
|
||||
face cache which should be freed when the frame is deleted. */
|
||||
|
||||
static void
|
||||
initial_free_frame_resources (struct frame *f)
|
||||
{
|
||||
eassert (FRAME_INITIAL_P (f));
|
||||
free_frame_faces (f);
|
||||
}
|
||||
|
||||
/* Create the bootstrap display terminal for the initial frame.
|
||||
Returns a terminal of type output_initial. */
|
||||
@ -516,6 +524,7 @@ init_initial_terminal (void)
|
||||
initial_terminal->name = xstrdup ("initial_terminal");
|
||||
initial_terminal->kboard = initial_kboard;
|
||||
initial_terminal->delete_terminal_hook = &delete_initial_terminal;
|
||||
initial_terminal->delete_frame_hook = &initial_free_frame_resources;
|
||||
/* All other hooks are NULL. */
|
||||
|
||||
return initial_terminal;
|
||||
|
Loading…
Reference in New Issue
Block a user