annotate src/gui_xmebwp.h @ 34680:2fd4ce2a5058 v9.1.0221

patch 9.1.0221: lines following virt text (that fills the window) might be truncated Commit: https://github.com/vim/vim/commit/b6fac4db3647179671d3267a4bcd418e92cd4572 Author: Dylan Thacker-Smith <dylan.ah.smith@gmail.com> Date: Thu Mar 28 11:40:41 2024 +0100 patch 9.1.0221: lines following virt text (that fills the window) might be truncated Problem: The if branch to set `text_prop_follows` was both checking if it was at the end of the buffer text line or if it was at the end of the screen line, but the former being true skipped a guard condition in the latter to only consider 'below' virtual text to follow. `text_prop_follows` being improperly set caused it to skip a conditional block to break at the end as well as one to move `ptr` to the end of the text line, while repeated for each following line of the window. Solution: Move the check for whether 'below' virtual text should follow so it is also used when at the end of the buffer text line. (Dylan Thacker-Smith) fixes: #12213 related: #14307 Signed-off-by: Dylan Thacker-Smith <dylan.ah.smith@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Thu, 28 Mar 2024 12:00:03 +0100
parents 6e3dc2d630c2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10042
4aead6a9b7a9 commit https://github.com/vim/vim/commit/edf3f97ae2af024708ebb4ac614227327033ca47
Christian Brabandt <cb@256bit.org>
parents: 4352
diff changeset
1 /* vi:set ts=8 sts=4 sw=4 noet:
50
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
2 *
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
3 * VIM - Vi IMproved by Bram Moolenaar
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
4 *
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
5 * Do ":help uganda" in Vim to read copying and usage conditions.
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
6 * Do ":help credits" in Vim to see a list of people who contributed.
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
7 * See README.txt for an overview of the Vim source code.
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
8 */
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
9 /*
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
10 *
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
11 * (C) 2002,2005 by Marcin Dalecki <martin@dalecki.de>
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
12 *
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
13 * MARCIN DALECKI ASSUMES NO RESPONSIBILITY FOR THE USE OR INABILITY TO USE ANY
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
14 * OF THIS SOFTWARE . THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
15 * KIND, AND MARCIN DALECKI EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES,
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
16 * INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
17 * FITNESS FOR A PARTICULAR PURPOSE.
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
18 */
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
19
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
20 #ifndef EnhancedBP_H
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
21 #define EnhancedBP_H
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
22
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
23 #include <Xm/PushBP.h>
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
24
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
25 #include "gui_xmebw.h"
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
26
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
27
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
28 /*
4352
04736b4030ec updated for version 7.3.925
Bram Moolenaar <bram@vim.org>
parents: 50
diff changeset
29 * EnhancedButton class structure.
50
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
30 */
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
31 typedef struct _XmEnhancedButtonClassPart
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
32 {
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
33 Pixmap stipple_bitmap;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
34 } XmEnhancedButtonClassPart;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
35
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
36 /*
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
37 * Full class record declaration for EnhancedButton class.
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
38 */
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
39 typedef struct
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
40 {
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
41 CoreClassPart core_class;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
42 XmPrimitiveClassPart primitive_class;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
43 XmLabelClassPart label_class;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
44 XmPushButtonClassPart pushbutton_class;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
45 XmEnhancedButtonClassPart enhancedbutton_class;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
46 } XmEnhancedButtonClassRec;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
47
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
48
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
49 extern XmEnhancedButtonClassRec xmEnhancedButtonClassRec;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
50
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
51 /*
4352
04736b4030ec updated for version 7.3.925
Bram Moolenaar <bram@vim.org>
parents: 50
diff changeset
52 * EnhancedButton instance record.
50
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
53 */
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
54 typedef struct _XmEnhancedButtonPart
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
55 {
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 10042
diff changeset
56 // public resources
50
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
57 String pixmap_data;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
58 String pixmap_file;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
59 Dimension spacing;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
60 int label_location;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
61
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 10042
diff changeset
62 // private resources
50
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
63 int pixmap_depth;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
64 Dimension pixmap_width;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
65 Dimension pixmap_height;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
66 Pixmap normal_pixmap;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
67 Pixmap armed_pixmap;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
68 Pixmap insensitive_pixmap;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
69 Pixmap highlight_pixmap;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
70
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
71 int doing_setvalues;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
72 int doing_destroy;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
73 } XmEnhancedButtonPart;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
74
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
75
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
76 /*
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
77 * Full instance record declaration.
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
78 */
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
79 typedef struct _XmEnhancedButtonRec
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
80 {
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
81 CorePart core;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
82 XmPrimitivePart primitive;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
83 XmLabelPart label;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
84 XmPushButtonPart pushbutton;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
85 XmEnhancedButtonPart enhancedbutton;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
86 } XmEnhancedButtonRec;
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
87
90188be4861f updated for version 7.0028
vimboss
parents:
diff changeset
88 #endif