diff options
| author | Stefan Monnier | 2020-02-21 10:13:21 -0500 |
|---|---|---|
| committer | Stefan Monnier | 2020-02-21 10:13:21 -0500 |
| commit | 3b4bd4be1dfa8717cb6911bd57c4c7d9d13614b4 (patch) | |
| tree | 6af2c14bae9fba3e54b56998db0c846dfb076f05 /src | |
| parent | 36df5e74d1db1388f81e366ed1966d15e7c8b999 (diff) | |
| download | emacs-3b4bd4be1dfa8717cb6911bd57c4c7d9d13614b4.tar.gz emacs-3b4bd4be1dfa8717cb6911bd57c4c7d9d13614b4.zip | |
* src/keyboard.c (make_lispy_event): Generate proper tool-bar events.
Generate events which carry the location info.
* src/xdisp.c (handle_tool_bar_click): Don't emit dummy "prefix" events.
Diffstat (limited to 'src')
| -rw-r--r-- | src/keyboard.c | 13 | ||||
| -rw-r--r-- | src/xdisp.c | 9 |
2 files changed, 7 insertions, 15 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index 9dd7e00709e..913a4d344b2 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -6008,14 +6008,11 @@ make_lispy_event (struct input_event *event) | |||
| 6008 | return event->arg; | 6008 | return event->arg; |
| 6009 | 6009 | ||
| 6010 | case TOOL_BAR_EVENT: | 6010 | case TOOL_BAR_EVENT: |
| 6011 | if (EQ (event->arg, event->frame_or_window)) | 6011 | { |
| 6012 | /* This is the prefix key. We translate this to | 6012 | Lisp_Object res = event->arg; |
| 6013 | `(tool_bar)' because the code in keyboard.c for tool bar | 6013 | if (SYMBOLP (res)) res = apply_modifiers (event->modifiers, res); |
| 6014 | events, which we use, relies on this. */ | 6014 | return list2 (res, list2 (event->frame_or_window, Qtool_bar)); |
| 6015 | return list1 (Qtool_bar); | 6015 | } |
| 6016 | else if (SYMBOLP (event->arg)) | ||
| 6017 | return apply_modifiers (event->modifiers, event->arg); | ||
| 6018 | return event->arg; | ||
| 6019 | 6016 | ||
| 6020 | case USER_SIGNAL_EVENT: | 6017 | case USER_SIGNAL_EVENT: |
| 6021 | /* A user signal. */ | 6018 | /* A user signal. */ |
diff --git a/src/xdisp.c b/src/xdisp.c index e41ceaf0bb7..682399f13e7 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -14324,11 +14324,6 @@ handle_tool_bar_click (struct frame *f, int x, int y, bool down_p, | |||
| 14324 | XSETFRAME (frame, f); | 14324 | XSETFRAME (frame, f); |
| 14325 | event.kind = TOOL_BAR_EVENT; | 14325 | event.kind = TOOL_BAR_EVENT; |
| 14326 | event.frame_or_window = frame; | 14326 | event.frame_or_window = frame; |
| 14327 | event.arg = frame; | ||
| 14328 | kbd_buffer_store_event (&event); | ||
| 14329 | |||
| 14330 | event.kind = TOOL_BAR_EVENT; | ||
| 14331 | event.frame_or_window = frame; | ||
| 14332 | event.arg = key; | 14327 | event.arg = key; |
| 14333 | event.modifiers = modifiers; | 14328 | event.modifiers = modifiers; |
| 14334 | kbd_buffer_store_event (&event); | 14329 | kbd_buffer_store_event (&event); |
| @@ -29230,7 +29225,7 @@ produce_stretch_glyph (struct it *it) | |||
| 29230 | 29225 | ||
| 29231 | /* Compute the width of the stretch. */ | 29226 | /* Compute the width of the stretch. */ |
| 29232 | if ((prop = Fplist_get (plist, QCwidth), !NILP (prop)) | 29227 | if ((prop = Fplist_get (plist, QCwidth), !NILP (prop)) |
| 29233 | && calc_pixel_width_or_height (&tem, it, prop, font, true, 0)) | 29228 | && calc_pixel_width_or_height (&tem, it, prop, font, true, NULL)) |
| 29234 | { | 29229 | { |
| 29235 | /* Absolute width `:width WIDTH' specified and valid. */ | 29230 | /* Absolute width `:width WIDTH' specified and valid. */ |
| 29236 | zero_width_ok_p = true; | 29231 | zero_width_ok_p = true; |
| @@ -29286,7 +29281,7 @@ produce_stretch_glyph (struct it *it) | |||
| 29286 | int default_height = normal_char_height (font, ' '); | 29281 | int default_height = normal_char_height (font, ' '); |
| 29287 | 29282 | ||
| 29288 | if ((prop = Fplist_get (plist, QCheight), !NILP (prop)) | 29283 | if ((prop = Fplist_get (plist, QCheight), !NILP (prop)) |
| 29289 | && calc_pixel_width_or_height (&tem, it, prop, font, false, 0)) | 29284 | && calc_pixel_width_or_height (&tem, it, prop, font, false, NULL)) |
| 29290 | { | 29285 | { |
| 29291 | height = (int)tem; | 29286 | height = (int)tem; |
| 29292 | zero_height_ok_p = true; | 29287 | zero_height_ok_p = true; |