* src/xwidget.c (Fset_frame_visible): Hack to force a frame to be

considered as visible to trigger the display engine.
* lisp/xwidget.el (xwidget-display): Force the display engine to create a
xwidget_view of the given xwidget.
This commit is contained in:
Grégoire Jadi 2013-07-18 14:12:03 +02:00
parent e14802f037
commit 1eea231d3e
2 changed files with 19 additions and 1 deletions

View file

@ -58,7 +58,13 @@ see `make-xwidget' for types suitable for TYPE."
;; ;; (start-process "xembed2" "*xembed2*" "uzbl-core" "-s" (number-to-string xembed-id) "http://www.fsf.org" ) )
;; )))))
(defun xwidget-display (xwidget)
"Force xwidget to be displayed to create a xwidget_view."
(let* ((buffer (xwidget-buffer xwidget))
(window (display-buffer buffer))
(frame (window-frame window)))
(set-frame-visible frame t)
(redisplay t)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

View file

@ -1554,6 +1554,17 @@ WINDOW if specified, otherwise it uses the selected window. */)
return Qnil;
}
DEFUN ("set-frame-visible", Fset_frame_visible, Sset_frame_visible,
2, 2, 0,
doc: /* HACKY */)
(Lisp_Object frame, Lisp_Object flag)
{
CHECK_FRAME (frame);
struct frame *f = XFRAME (frame);
SET_FRAME_VISIBLE (f, !NILP (flag));
return flag;
}
DEFUN ("xwidget-plist", Fxwidget_plist, Sxwidget_plist,
1, 1, 0,
doc: /* Return the plist of XWIDGET. */)
@ -1627,6 +1638,7 @@ syms_of_xwidget (void)
defsubr (&Sxwidget_view_lookup);
defsubr (&Sxwidget_query_on_exit_flag);
defsubr (&Sset_xwidget_query_on_exit_flag);
defsubr (&Sset_frame_visible);
#ifdef HAVE_WEBKIT_OSR
defsubr (&Sxwidget_webkit_goto_uri);