Lower xwidget views owned by parent when lowering frame
* src/xterm.c (x_lower_frame): Lower parent frame's xwidget views as well. * src/xwidget.h (lower_frame_xwidget_views): * src/xwidget.c (lower_frame_xwidget_views): New function.
This commit is contained in:
parent
1657e0fb17
commit
8d0c19fb0c
3 changed files with 22 additions and 0 deletions
|
@ -11723,6 +11723,13 @@ x_lower_frame (struct frame *f)
|
|||
XFlush (FRAME_X_DISPLAY (f));
|
||||
unblock_input ();
|
||||
}
|
||||
#ifdef HAVE_XWIDGETS
|
||||
/* Make sure any X windows owned by xwidget views of the parent
|
||||
still display below the lowered frame. */
|
||||
|
||||
if (FRAME_PARENT_FRAME (f))
|
||||
lower_frame_xwidget_views (FRAME_PARENT_FRAME (f));
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -2810,6 +2810,20 @@ xwidget_end_redisplay (struct window *w, struct glyph_matrix *matrix)
|
|||
}
|
||||
|
||||
#ifdef USE_GTK
|
||||
void
|
||||
lower_frame_xwidget_views (struct frame *f)
|
||||
{
|
||||
struct xwidget_view *xv;
|
||||
|
||||
for (Lisp_Object tail = internal_xwidget_view_list; CONSP (tail);
|
||||
tail = XCDR (tail))
|
||||
{
|
||||
xv = XXWIDGET_VIEW (XCAR (tail));
|
||||
if (xv->frame == f && xv->wdesc != None)
|
||||
XLowerWindow (xv->dpy, xv->wdesc);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
kill_frame_xwidget_views (struct frame *f)
|
||||
{
|
||||
|
|
|
@ -188,6 +188,7 @@ extern struct xwidget *xwidget_from_id (uint32_t id);
|
|||
#ifdef HAVE_X_WINDOWS
|
||||
struct xwidget_view *xwidget_view_from_window (Window wdesc);
|
||||
void xwidget_expose (struct xwidget_view *xv);
|
||||
extern void lower_frame_xwidget_views (struct frame *f);
|
||||
extern void kill_frame_xwidget_views (struct frame *f);
|
||||
extern void xwidget_button (struct xwidget_view *, bool, int,
|
||||
int, int, int, Time);
|
||||
|
|
Loading…
Add table
Reference in a new issue