After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 789390 - mouse pointer hidden incorrectly when it was hidden while outside the terminal
mouse pointer hidden incorrectly when it was hidden while outside the terminal
Status: RESOLVED FIXED
Product: vte
Classification: Core
Component: general
git master
Other Linux
: Normal normal
: ---
Assigned To: VTE Maintainers
VTE Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-10-24 09:20 UTC by Christian Persch
Modified: 2017-10-28 12:56 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Fix (552 bytes, patch)
2017-10-26 20:51 UTC, Egmont Koblinger
committed Details | Review
Fix v2 (1.94 KB, patch)
2017-10-26 21:03 UTC, Egmont Koblinger
none Details | Review

Description Christian Persch 2017-10-24 09:20:59 UTC
I don't feel like investigating this right now, so just filing for safekeeping:

Steps to repro in vte-2.91:

(0) Move mouse outside over the Find icon in the headerbar.
(1) Press space. (If the mouse was inside the terminal, this would hide the pointer.)
(2) Press left mouse button to open the search popup.
(3) Now move the mouse over the terminal.

Results:
Mouse pointer is hidden.

Expected results:
Mouse pointer is visible.
Comment 1 Egmont Koblinger 2017-10-24 11:00:12 UTC
I recently changed the pointer displaying logic, and there are other bugs with this (e.g. regex highlighting still happens under the invisible pointer; it shouldn't). I'll take a look.

I'm not sure vte is made aware of mouse movements when a popover is present. E.g. highlighting doesn't work either.

I guess the enter/leave state should be brought into the game, the pointer shouldn't be hidden when it has left the widget. Maybe that will cause similar (opposite) bugs to this one, but it's always better to err in the direction of showing the pointer.
Comment 2 Egmont Koblinger 2017-10-26 20:51:16 UTC
Created attachment 362373 [details] [review]
Fix

This fixes the bug – let's test for a while for regressions / side effects.
Comment 3 Egmont Koblinger 2017-10-26 21:00:31 UTC
Check for the recent change at bug 786441 / commit 3e74409 too. Interestingly, it removed condition that I'm adding back now, just with a different boolean logic.

Also, m_mouse_cursor_visible isn't used anywhere else, it should be turned into a local variable. Plus, inverting it ("cursor_invisible") will IMHO make the boolean logic much more readable.
Comment 4 Egmont Koblinger 2017-10-26 21:03:45 UTC
Created attachment 362374 [details] [review]
Fix v2

Fix v2 – let's test for a while for regressions / side effects.
Comment 5 Egmont Koblinger 2017-10-26 21:17:15 UTC
Actually, the fix to bug 789536 will almost certainly need that variable. So let's go with the first patch.
Comment 6 Christian Persch 2017-10-27 20:04:17 UTC
Comment on attachment 362373 [details] [review]
Fix

Alright then. Master and 0-50, please. Thanks!
Comment 7 Egmont Koblinger 2017-10-28 12:56:49 UTC
Done.