… | |
… | |
171 | void |
171 | void |
172 | keyboard_manager::clear () |
172 | keyboard_manager::clear () |
173 | { |
173 | { |
174 | keymap.clear (); |
174 | keymap.clear (); |
175 | hash [0] = 2; |
175 | hash [0] = 2; |
|
|
176 | |
|
|
177 | for (unsigned int i = 0; i < user_translations.size (); ++i) |
|
|
178 | { |
|
|
179 | free ((void *)user_translations [i]); |
|
|
180 | user_translations [i] = 0; |
|
|
181 | } |
|
|
182 | |
|
|
183 | for (unsigned int i = 0; i < user_keymap.size (); ++i) |
|
|
184 | { |
|
|
185 | delete user_keymap [i]; |
|
|
186 | user_keymap [i] = 0; |
|
|
187 | } |
|
|
188 | |
|
|
189 | user_keymap.clear (); |
|
|
190 | user_translations.clear (); |
176 | } |
191 | } |
177 | |
192 | |
178 | // a wrapper for register_keymap, |
193 | // a wrapper for register_keymap, |
179 | // so that outside codes don't have to know so much details. |
194 | // so that outside codes don't have to know so much details. |
180 | // |
195 | // |
… | |
… | |
212 | rxvt_warn ("cannot parse list-type keysym '%s', treating as normal keysym.\n", translation); |
227 | rxvt_warn ("cannot parse list-type keysym '%s', treating as normal keysym.\n", translation); |
213 | } |
228 | } |
214 | else if (strncmp (translation, "builtin:", 8) == 0) |
229 | else if (strncmp (translation, "builtin:", 8) == 0) |
215 | key->type = keysym_t::BUILTIN; |
230 | key->type = keysym_t::BUILTIN; |
216 | |
231 | |
|
|
232 | user_keymap.push_back (key); |
|
|
233 | user_translations.push_back (translation); |
217 | register_keymap (key); |
234 | register_keymap (key); |
218 | } |
235 | } |
219 | else |
236 | else |
220 | { |
237 | { |
221 | delete key; |
238 | delete key; |