Fix focus redirection to/from surrogate minibuffer frames on Haiku
* src/haikuterm.c (haiku_get_focus_frame): New function. (haiku_create_terminal): Register new hook.
This commit is contained in:
parent
714970f596
commit
67685de75c
1 changed files with 16 additions and 0 deletions
|
@ -3960,6 +3960,21 @@ haiku_read_socket (struct terminal *terminal, struct input_event *hold_quit)
|
|||
return message_count;
|
||||
}
|
||||
|
||||
static Lisp_Object
|
||||
haiku_get_focus_frame (struct frame *f)
|
||||
{
|
||||
Lisp_Object lisp_focus;
|
||||
struct frame *focus;
|
||||
|
||||
focus = FRAME_DISPLAY_INFO (f)->focused_frame;
|
||||
|
||||
if (!focus)
|
||||
return Qnil;
|
||||
|
||||
XSETFRAME (lisp_focus, focus);
|
||||
return lisp_focus;
|
||||
}
|
||||
|
||||
static void
|
||||
haiku_frame_rehighlight (struct frame *frame)
|
||||
{
|
||||
|
@ -4185,6 +4200,7 @@ haiku_create_terminal (struct haiku_display_info *dpyinfo)
|
|||
terminal->fullscreen_hook = haiku_fullscreen;
|
||||
terminal->toolkit_position_hook = haiku_toolkit_position;
|
||||
terminal->activate_menubar_hook = haiku_activate_menubar;
|
||||
terminal->get_focus_frame = haiku_get_focus_frame;
|
||||
|
||||
return terminal;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue