From 508b0c1b2230e2b7b21299b3ffe64c05d2bf7f81 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Tue, 6 Dec 2022 09:30:00 +0800 Subject: [PATCH] Fix crash on Windows 9X * src/emacs.c (main): Call init_bignum before init_window_once. --- src/emacs.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/emacs.c b/src/emacs.c index 00e7f86e9ae..d8a2863fd9c 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -1924,6 +1924,12 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem Vcoding_system_hash_table. */ syms_of_coding (); /* This should be after syms_of_fileio. */ init_frame_once (); /* Before init_window_once. */ + /* init_window_once calls make_initial_frame, which calls + Fcurrent_time and bset_display_time, both of which allocate + bignums. Without the following call to init_bignums, crashes + happen on Windows 9X after dumping when GC tries to free a + pointer allocated on the system heap. */ + init_bignum (); init_window_once (); /* Init the window system. */ #ifdef HAVE_WINDOW_SYSTEM init_fringe_once (); /* Swap bitmaps if necessary. */ -- 2.39.2