File tree Expand file tree Collapse file tree 4 files changed +13
-4
lines changed Expand file tree Collapse file tree 4 files changed +13
-4
lines changed Original file line number Diff line number Diff line change @@ -147,6 +147,15 @@ func (i *IMETooltip) show() {
147
147
return
148
148
}
149
149
150
+ i .Show ()
151
+ i .isShown = true
152
+ }
153
+
154
+ func (i * IMETooltip ) setGrid () {
155
+ if i .s == nil || i .s .ws == nil {
156
+ return
157
+ }
158
+
150
159
if ! (i .s .ws .palette != nil && i .s .ws .palette .widget != nil && i .s .ws .palette .widget .IsVisible ()) {
151
160
win , ok := i .s .getWindow (i .s .ws .cursor .gridid )
152
161
if ! ok || win == nil {
@@ -163,9 +172,7 @@ func (i *IMETooltip) show() {
163
172
i .setFont (i .s .font )
164
173
}
165
174
166
- i .Show ()
167
175
i .Raise ()
168
- i .isShown = true
169
176
}
170
177
171
178
func (i * IMETooltip ) updateVirtualCursorPos () {
Original file line number Diff line number Diff line change @@ -1062,6 +1062,7 @@ func (s *Screen) gridCursorGoto(args []interface{}) {
1062
1062
}
1063
1063
1064
1064
win .raise ()
1065
+ win .s .tooltip .setGrid ()
1065
1066
1066
1067
// reset smooth scroll scrolling offset
1067
1068
win .scrollPixels2 = 0
@@ -1508,7 +1509,7 @@ func (s *Screen) update() {
1508
1509
s .windows .Range (func (grid , winITF interface {}) bool {
1509
1510
win := winITF .(* Window )
1510
1511
// if grid is dirty, we remove this grid
1511
- if win .isGridDirty {
1512
+ if win .isGridDirty && ! win . isSameAsCursorGrid () {
1512
1513
// if win.queueRedrawArea[2] > 0 || win.queueRedrawArea[3] > 0 {
1513
1514
// // If grid has an update area even though it has a dirty flag,
1514
1515
// // it will still not be removed as a valid grid
Original file line number Diff line number Diff line change @@ -1169,7 +1169,7 @@ func (w *Window) applyTemporaryMousescroll(ms string) {
1169
1169
}
1170
1170
}
1171
1171
1172
- func (w * Window ) isEventEmitOnCursorGrid () bool {
1172
+ func (w * Window ) isSameAsCursorGrid () bool {
1173
1173
return w .grid == w .s .ws .cursor .gridid
1174
1174
}
1175
1175
Original file line number Diff line number Diff line change @@ -2462,6 +2462,7 @@ func (ws *Workspace) InputMethodEvent(event *gui.QInputMethodEvent) {
2462
2462
ws .screen .tooltip .hide ()
2463
2463
ws .screen .refresh ()
2464
2464
} else {
2465
+ ws .screen .tooltip .setGrid ()
2465
2466
ws .screen .tooltip .show ()
2466
2467
ws .screen .tooltip .parsePreeditString (preeditString )
2467
2468
ws .screen .tooltip .update ()
You can’t perform that action at this time.
0 commit comments