Subject: bug#24041: 25.1.50; xwidget + -nw mode gives segfault

From: Eli Zaretskii <[email-masked]>
Date: Sat, 20 Aug 2016 10:32:03 +0300

> From: Robert Cochran <[email-masked]>
> Date: Fri, 19 Aug 2016 11:36:30 -0700
> Cc: [email-masked]
> 
> Anyways, so the fix here is conceptually pretty simple: have a check in
> place to ensure (display-graphic-p) returns non-nil before doing any
> xwidgets stuff. Easy enough.

display-graphic-p accepts argument, so if a function displays on
another frame or display, it should be passed that frame or display.

> What I want to solicit feedback on before I write a patch is this: who
> should be responsible for this check? Should the function provider (the
> xwidget C 'library') check for the proper support? Or should that be
> left to the user (the Lisp that calls the xwidget functions, in this
> case `xwidget-webkit-browse-url`)?

IMO, the check should be on the C level where the xwidget primitives
are implemented.  One such place is make-xwidget; maybe there are
more.  (The proper way of testing this on the C level is not by
calling display-graphic-p, but rather with check_x_display_info.)

Thanks.