emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-29 508b0c1b223 1/2: Fix crash on Windows 9X


From: Po Lu
Subject: emacs-29 508b0c1b223 1/2: Fix crash on Windows 9X
Date: Wed, 7 Dec 2022 19:57:36 -0500 (EST)

branch: emacs-29
commit 508b0c1b2230e2b7b21299b3ffe64c05d2bf7f81
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    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.  */



reply via email to

[Prev in Thread] Current Thread [Next in Thread]