diff --git a/src/ChangeLog b/src/ChangeLog index c95e0c9de159323f41cc107b5ea19628bf89c8b5..f7747c1e408885573e46f0a62bf433ffc94031cf 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2014-05-24 Ken Brown + + * w32term.c (x_delete_display) [CYGWIN]: Don't free + dpyinfo->w32_id_name, to make sure it doesn't get freed more than + once. (Bug#17510) + 2014-05-24 Stefan Monnier * xdisp.c: Bind inhibit-quit during pre-redisplay-function. diff --git a/src/w32term.c b/src/w32term.c index f914b5f862567b3155c61652ea8dfbda56692bef..2781fb63d6266fa1ffcd7bd92931444bb590c611 100644 --- a/src/w32term.c +++ b/src/w32term.c @@ -6426,7 +6426,11 @@ x_delete_display (struct w32_display_info *dpyinfo) if (dpyinfo->palette) DeleteObject (dpyinfo->palette); } + /* Avoid freeing dpyinfo->w32_id_name more than once if emacs is + running as a daemon; see bug#17510. */ +#ifndef CYGWIN xfree (dpyinfo->w32_id_name); +#endif w32_reset_fringes (); }