comparison src/xterm.c @ 97746:7d48c48bc07e

(x_term_init): Temporarily hide the partially initialized terminal while calling vendor-specific-keysyms.
author Chong Yidong <cyd@stupidchicken.com>
date Wed, 27 Aug 2008 00:08:06 +0000
parents 83a1270ef719
children 7ef2445b45d7
comparison
equal deleted inserted replaced
97745:30375d5db747 97746:7d48c48bc07e
10120 init_kboard (terminal->kboard); 10120 init_kboard (terminal->kboard);
10121 terminal->kboard->Vwindow_system = intern ("x"); 10121 terminal->kboard->Vwindow_system = intern ("x");
10122 if (!EQ (XSYMBOL (Qvendor_specific_keysyms)->function, Qunbound)) 10122 if (!EQ (XSYMBOL (Qvendor_specific_keysyms)->function, Qunbound))
10123 { 10123 {
10124 char *vendor = ServerVendor (dpy); 10124 char *vendor = ServerVendor (dpy);
10125 /* Temporarily hide the partially initialized terminal */
10126 terminal_list = terminal->next_terminal;
10125 UNBLOCK_INPUT; 10127 UNBLOCK_INPUT;
10126 terminal->kboard->Vsystem_key_alist 10128 terminal->kboard->Vsystem_key_alist
10127 = call1 (Qvendor_specific_keysyms, 10129 = call1 (Qvendor_specific_keysyms,
10128 vendor ? build_string (vendor) : empty_unibyte_string); 10130 vendor ? build_string (vendor) : empty_unibyte_string);
10129 BLOCK_INPUT; 10131 BLOCK_INPUT;
10132 terminal->next_terminal = terminal_list;
10133 terminal_list = terminal;
10130 } 10134 }
10131 10135
10132 terminal->kboard->next_kboard = all_kboards; 10136 terminal->kboard->next_kboard = all_kboards;
10133 all_kboards = terminal->kboard; 10137 all_kboards = terminal->kboard;
10134 /* Don't let the initial kboard remain current longer than necessary. 10138 /* Don't let the initial kboard remain current longer than necessary.