diff options
| author | Paul Eggert | 2025-01-26 22:15:49 -0800 |
|---|---|---|
| committer | Paul Eggert | 2025-01-26 23:05:52 -0800 |
| commit | a1e4f6a35c70cf265c77b445288f4e0ab6ffc19f (patch) | |
| tree | 0886688e6bc313526e0f447e943ff567adc3cf8c /src/pgtkterm.c | |
| parent | 6ff06ff738ead96d7b4cb59eda15a1c72e2b5776 (diff) | |
| download | emacs-a1e4f6a35c70cf265c77b445288f4e0ab6ffc19f.tar.gz emacs-a1e4f6a35c70cf265c77b445288f4e0ab6ffc19f.zip | |
Avoid unlikely int overflow.
* src/pgtkterm.c (pgtk_term_init):
* src/xterm.c (x_term_init):
Use a bool, not an int that keeps incrementing,
to record whether initialization has occurred.
Diffstat (limited to 'src/pgtkterm.c')
| -rw-r--r-- | src/pgtkterm.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/pgtkterm.c b/src/pgtkterm.c index 30679353c1b..41bec344799 100644 --- a/src/pgtkterm.c +++ b/src/pgtkterm.c | |||
| @@ -7004,7 +7004,7 @@ pgtk_term_init (Lisp_Object display_name, char *resource_name) | |||
| 7004 | GdkDisplay *dpy; | 7004 | GdkDisplay *dpy; |
| 7005 | struct terminal *terminal; | 7005 | struct terminal *terminal; |
| 7006 | struct pgtk_display_info *dpyinfo; | 7006 | struct pgtk_display_info *dpyinfo; |
| 7007 | static int x_initialized = 0; | 7007 | static bool x_initialized; |
| 7008 | static unsigned x_display_id = 0; | 7008 | static unsigned x_display_id = 0; |
| 7009 | static char *initial_display = NULL; | 7009 | static char *initial_display = NULL; |
| 7010 | char *dpy_name; | 7010 | char *dpy_name; |
| @@ -7015,6 +7015,7 @@ pgtk_term_init (Lisp_Object display_name, char *resource_name) | |||
| 7015 | 7015 | ||
| 7016 | block_input (); | 7016 | block_input (); |
| 7017 | 7017 | ||
| 7018 | bool was_initialized = x_initialized; | ||
| 7018 | if (!x_initialized) | 7019 | if (!x_initialized) |
| 7019 | { | 7020 | { |
| 7020 | any_help_event_p = false; | 7021 | any_help_event_p = false; |
| @@ -7025,8 +7026,7 @@ pgtk_term_init (Lisp_Object display_name, char *resource_name) | |||
| 7025 | #ifdef USE_CAIRO | 7026 | #ifdef USE_CAIRO |
| 7026 | gui_init_fringe (&pgtk_redisplay_interface); | 7027 | gui_init_fringe (&pgtk_redisplay_interface); |
| 7027 | #endif | 7028 | #endif |
| 7028 | 7029 | x_initialized = true; | |
| 7029 | ++x_initialized; | ||
| 7030 | } | 7030 | } |
| 7031 | 7031 | ||
| 7032 | dpy_name = SSDATA (display_name); | 7032 | dpy_name = SSDATA (display_name); |
| @@ -7041,7 +7041,7 @@ pgtk_term_init (Lisp_Object display_name, char *resource_name) | |||
| 7041 | char **argv2 = argv; | 7041 | char **argv2 = argv; |
| 7042 | guint id; | 7042 | guint id; |
| 7043 | 7043 | ||
| 7044 | if (x_initialized++ > 1) | 7044 | if (was_initialized) |
| 7045 | { | 7045 | { |
| 7046 | xg_display_open (dpy_name, &dpy); | 7046 | xg_display_open (dpy_name, &dpy); |
| 7047 | } | 7047 | } |