GNU bug report logs -
#19175
24.4; make-frame-on-display fails if emacs started with -nw
Previous Next
Reported by: Mario Becroft <mb <at> becroft.co.nz>
Date: Tue, 25 Nov 2014 04:30:02 UTC
Severity: normal
Tags: confirmed
Found in version 24.4
Done: "Jan D." <jan.h.d <at> swipnet.se>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> Date: Sun, 29 Mar 2015 19:09:48 +0200
> From: Jan Djärv <jan.h.d <at> swipnet.se>
> CC: mb <at> becroft.co.nz, 19175 <at> debbugs.gnu.org
>
> index fedaa0f..1f48262 100644
> --- a/src/gtkutil.c
> +++ b/src/gtkutil.c
> @@ -167,7 +167,9 @@ xg_display_open (char *display_name, Display **dpy)
> {
> GdkDisplay *gdpy;
>
> + unrequest_sigio ();
> gdpy = gdk_display_open (display_name);
> + request_sigio ();
> if (!gdpy_def && gdpy)
> {
> gdpy_def = gdpy;
> diff --git a/src/xterm.c b/src/xterm.c
> index 4ca1e13..8284ed9 100644
> --- a/src/xterm.c
> +++ b/src/xterm.c
> @@ -9719,7 +9719,10 @@ get_bits_and_offset (unsigned long mask, int *bits, int
> *offset)
> bool
> x_display_ok (const char *display)
> {
> - Display *dpy = XOpenDisplay (display);
> + Display *dpy;
> + unrequest_sigio ();
> + dpy = XOpenDisplay (display);
> + request_sigio ();
> return dpy ? (XCloseDisplay (dpy), 1) : 0;
> }
>
> @@ -9811,7 +9814,9 @@ x_term_init (Lisp_Object display_name, char *xrm_option,
> char *resource_name)
>
> /* gtk_init does set_locale. Fix locale before and after. */
> fixup_locale ();
> + unrequest_sigio ();
> gtk_init (&argc, &argv2);
> + request_sigio ();
> fixup_locale ();
>
> g_log_remove_handler ("GLib", id);
> @@ -9861,10 +9866,12 @@ x_term_init (Lisp_Object display_name, char
> *xrm_option, char *resource_name)
> argv[argc++] = xrm_option;
> }
> turn_on_atimers (0);
> + unrequest_sigio ();
> dpy = XtOpenDisplay (Xt_app_con, SSDATA (display_name),
> resource_name, EMACS_CLASS,
> emacs_options, XtNumber (emacs_options),
> &argc, argv);
> + request_sigio ();
> turn_on_atimers (1);
>
> #ifdef HAVE_X11XTR6
> @@ -9875,7 +9882,9 @@ x_term_init (Lisp_Object display_name, char *xrm_option,
> char *resource_name)
>
> #else /* not USE_X_TOOLKIT */
> XSetLocaleModifiers ("");
> + unrequest_sigio ();
> dpy = XOpenDisplay (SSDATA (display_name));
> + request_sigio ();
> #endif /* not USE_X_TOOLKIT */
> #endif /* not USE_GTK*/
Thanks, this looks safe enough to me. Just add some comments to
explain the need.
I hope Nicolas won't mind preparing a new tarball for the release.
This bug report was last modified 10 years and 111 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.