From: Po Lu Date: Sun, 7 Nov 2021 01:17:11 +0000 (+0800) Subject: Fix build on nextstep X-Git-Tag: emacs-29.0.90~3671^2~119 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5b7ab895e1c9a8ddf82cc6d4946dd40c1b720ff0;p=emacs.git Fix build on nextstep * src/xwidget.h: Make some prototypes conditional to X-Windows. (struct xwidget): Move find_text field out of GTK conditional. * src/xwidget.c (Fmake_xwidget): Move find_text out of GTK conditional. * src/print.c (print_vectorlike): Print correct pointer on macOS. --- diff --git a/src/print.c b/src/print.c index eca389158f9..adadb289de0 100644 --- a/src/print.c +++ b/src/print.c @@ -1524,9 +1524,15 @@ print_vectorlike (Lisp_Object obj, Lisp_Object printcharfun, bool escapeflag, case PVEC_XWIDGET: #ifdef HAVE_XWIDGETS { +#ifdef USE_GTK int len = sprintf (buf, "#", XXWIDGET (obj)->xwidget_id, XXWIDGET (obj)->widget_osr); +#else + int len = sprintf (buf, "#", + XXWIDGET (obj)->xwidget_id, + XXWIDGET (obj)->xwWidget); +#endif strout (buf, len, len, printcharfun); break; } diff --git a/src/xwidget.c b/src/xwidget.c index 90aac4e0922..78a3860490f 100644 --- a/src/xwidget.c +++ b/src/xwidget.c @@ -139,6 +139,7 @@ fails. */) Vxwidget_list = Fcons (val, Vxwidget_list); xw->plist = Qnil; xw->xwidget_id = ++xwidget_counter; + xw->find_text = NULL; Fputhash (make_fixnum (xw->xwidget_id), val, id_to_xwidget_map); @@ -146,7 +147,6 @@ fails. */) xw->widgetwindow_osr = NULL; xw->widget_osr = NULL; xw->hit_result = 0; - xw->find_text = NULL; if (EQ (xw->type, Qwebkit)) { block_input (); diff --git a/src/xwidget.h b/src/xwidget.h index 3bab6d5b002..ad8b7c039c4 100644 --- a/src/xwidget.h +++ b/src/xwidget.h @@ -62,13 +62,13 @@ struct xwidget int height; int width; uint32_t xwidget_id; + char *find_text; #if defined (USE_GTK) /* For offscreen widgets, unused if not osr. */ GtkWidget *widget_osr; GtkWidget *widgetwindow_osr; guint hit_result; - gchar *find_text; #elif defined (NS_IMPL_COCOA) # ifdef __OBJC__ /* For offscreen widgets, unused if not osr. */ @@ -171,15 +171,18 @@ void store_xwidget_download_callback_event (struct xwidget *xw, void store_xwidget_js_callback_event (struct xwidget *xw, Lisp_Object proc, Lisp_Object argument); -struct xwidget_view *xwidget_view_from_window (Window wdesc); -void xwidget_expose (struct xwidget_view *xv); 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 kill_frame_xwidget_views (struct frame *f); extern void xwidget_button (struct xwidget_view *, bool, int, int, int, int, Time); extern void xwidget_motion_or_crossing (struct xwidget_view *, const XEvent *); +#endif #else INLINE_HEADER_BEGIN INLINE void syms_of_xwidget (void) {}