From: Po Lu Date: Tue, 1 Mar 2022 03:31:37 +0000 (+0800) Subject: Intern server time property during terminal initialization X-Git-Tag: emacs-29.0.90~2074 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=02d3eed6007d9b90e453e24cdd658eb848a0a2d4;p=emacs.git Intern server time property during terminal initialization * src/xmenu.c (create_and_show_popup_menu): Use previously interned atom. * src/xterm.c (x_term_init): New atom `EMACS_SERVER_TIME_PROP'. * src/xterm.h (struct x_display_info): New field `Xatom_EMACS_SERVER_TIME_PROP'. --- diff --git a/src/xmenu.c b/src/xmenu.c index 93bc90514c2..4683e856c2e 100644 --- a/src/xmenu.c +++ b/src/xmenu.c @@ -1650,14 +1650,14 @@ create_and_show_popup_menu (struct frame *f, widget_value *first_wv, processed by Xt, but Xt doesn't consider GenericEvents, so the timestamp is always less than the last grab time. */ - property_atom = XInternAtom (dpyinfo->display, "EMACS_SERVER_TIME_PROP", False); + property_atom = dpyinfo->Xatom_EMACS_SERVER_TIME_PROP; XChangeProperty (dpyinfo->display, FRAME_OUTER_WINDOW (f), property_atom, XA_ATOM, 32, PropModeReplace, (unsigned char *) &property_atom, 1); XIfEvent (dpyinfo->display, &property_dummy, server_timestamp_predicate, - (XPointer) &(XID[]) {(XID) FRAME_OUTER_WINDOW (f), (XID) property_atom}); + (XPointer) &(XID[]) {FRAME_OUTER_WINDOW (f), property_atom}); XtDispatchEvent (&property_dummy); } diff --git a/src/xterm.c b/src/xterm.c index 0e37d3f93bf..3e35ae50b83 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -17255,6 +17255,7 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name) ATOM_REFS_INIT ("MULTIPLE", Xatom_MULTIPLE) ATOM_REFS_INIT ("INCR", Xatom_INCR) ATOM_REFS_INIT ("_EMACS_TMP_", Xatom_EMACS_TMP) + ATOM_REFS_INIT ("EMACS_SERVER_TIME_PROP", Xatom_EMACS_SERVER_TIME_PROP) ATOM_REFS_INIT ("TARGETS", Xatom_TARGETS) ATOM_REFS_INIT ("NULL", Xatom_NULL) ATOM_REFS_INIT ("ATOM", Xatom_ATOM) diff --git a/src/xterm.h b/src/xterm.h index a41eb43d64d..f6c251649ff 100644 --- a/src/xterm.h +++ b/src/xterm.h @@ -407,7 +407,8 @@ struct x_display_info Atom Xatom_CLIPBOARD, Xatom_TIMESTAMP, Xatom_TEXT, Xatom_DELETE, Xatom_COMPOUND_TEXT, Xatom_UTF8_STRING, Xatom_MULTIPLE, Xatom_INCR, Xatom_EMACS_TMP, Xatom_TARGETS, Xatom_NULL, - Xatom_ATOM, Xatom_ATOM_PAIR, Xatom_CLIPBOARD_MANAGER, Xatom_COUNTER; + Xatom_ATOM, Xatom_ATOM_PAIR, Xatom_CLIPBOARD_MANAGER, Xatom_COUNTER, + Xatom_EMACS_SERVER_TIME_PROP; /* More atoms for font properties. The last three are private properties, see the comments in src/fontset.h. */