summaryrefslogtreecommitdiff
path: root/src/dispextern.h
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2021-10-29 11:33:06 +0800
committerLars Ingebrigtsen <larsi@gnus.org>2021-11-07 02:59:39 +0100
commit5c387ad437872c6e95599710ba5dcdfaa470c5ea (patch)
treedb21cc292335e934f1eb93509828426fee40d0fa /src/dispextern.h
parent61d049aaff2ede48d3d4b357bc1cb06447f15229 (diff)
downloademacs-5c387ad437872c6e95599710ba5dcdfaa470c5ea.tar.gz
Enable scrolling optimization for xwidgets
* src/dispextern.h (struct glyph): Store xwidget ID instead of a reference. * src/dispnew.c (scrolling_window): Enable scrolling optimization on xwidget builds. * src/xdisp.c (fill_xwidget_glyph_string, produce_xwidget_glyph): Obtain xwidget from ID. * src/xterm.c (x_scroll_run): Scroll xwidget windows. * src/xwidget.c (id_to_xwidget_map, xwidget_counter): New xwidget variables. (Fmake_xwidget): Assign each xwidget a unique ID, and keep track of that ID. (xwidget_from_id): New function. (syms_of_xwidget): Initialize id_to_xwidget_map. (xwidget_end_redisplay): Lookup xwidgets via ID. * src/xwidget.h (struct xwidget): Add ID field. (xwidget_from_id): New function.
Diffstat (limited to 'src/dispextern.h')
-rw-r--r--src/dispextern.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dispextern.h b/src/dispextern.h
index 5b28fe76664..f17f095e0d3 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -536,8 +536,8 @@ struct glyph
int img_id;
#ifdef HAVE_XWIDGETS
- /* Xwidget reference (type == XWIDGET_GLYPH). */
- struct xwidget *xwidget;
+ /* Xwidget ID. */
+ uint32_t xwidget;
#endif
/* Sub-structure for type == STRETCH_GLYPH. */