Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mouse pointer does not reappear after renaming assignable controllers #1465

Closed
VincyZed opened this issue Jan 10, 2020 · 12 comments · Fixed by #2028
Closed

Mouse pointer does not reappear after renaming assignable controllers #1465

VincyZed opened this issue Jan 10, 2020 · 12 comments · Fixed by #2028
Labels
UI Issues related to UI look&feel UX Issues related to user experience (UX) - mouse, touch, keyboard, MIDI inputs, etc.
Milestone

Comments

@VincyZed
Copy link
Collaborator

VincyZed commented Jan 10, 2020

Bug description
The mouse pointer does not reappear after renaming one of the 8 assignable controllers (macros) mod sources.

Please let us know your surge version
Latest nightly.

Surge Version
VST3 x64.
FL Studio 20.6 x64
Windows 10 x64

To Reproduce
Steps to reproduce the behavior:

  1. Right-click -> Rename one of the assignable controllers.
  2. Write the new name without moving the mouse. Notice how the mouse pointer disappears.
  3. After pressing "Enter", the mouse pointer does not reappear.
  4. To make it reappear, you have to left-click somewhere.

Expected behavior
Either the mouse pointer should not disappear on the first place, or it should reappear automatically after the modsource has been renamed.

@VincyZed VincyZed added the UI Issues related to UI look&feel label Jan 10, 2020
@baconpaul baconpaul added this to the Currently Unscheduled milestone Jan 10, 2020
@baconpaul
Copy link
Collaborator

This is somewhere in src/common/gui/PopupEditorDialog.h and src/windows/surge.rc

@mkruselj mkruselj added the UX Issues related to user experience (UX) - mouse, touch, keyboard, MIDI inputs, etc. label Feb 5, 2020
@baconpaul
Copy link
Collaborator

Seems this and #846 are the same thing

@baconpaul
Copy link
Collaborator

So the FX doesn't do this; the Rename does
but the Rename is also a CursorHidingControl
So I bet ti is there somewhere

@baconpaul
Copy link
Collaborator

So it's not CCursorHidingControl or even the invalidation loop

I don't know what it is or what is different about rename vs MPE Pitch Bend which doesn't do this

But even if I hammer in a 'setCursor' after the miniEdit my cursor doesn't come back.

@baconpaul
Copy link
Collaborator

Over in #846 it is noted that the cursor doesn't break if you make the name shorter and I can confirm that is true. maddening but true.

@K0rrid0r
Copy link
Collaborator

K0rrid0r commented Jun 4, 2020

I just tried.

Hint: It does disappear but appears again if you manage to click the same assignable controller.

@baconpaul
Copy link
Collaborator

if you make the name shorter it didn't when i just tried; if you make the name longer it does

@K0rrid0r
Copy link
Collaborator

K0rrid0r commented Jun 4, 2020

More hints: You can actually click anywhere in surge to make the mouse appear again. And making the name shorter did like you said.

More hint: If you rename the assignable controller and hold the mouse outside of surge when clicking enter for the name to appear, The mouse cursor does not disappear.

@baconpaul
Copy link
Collaborator

right
the 'make it shorter and it doesn't disappear' is really the thing i'm pondering like crazy
gives me an idea though

@VincyZed
Copy link
Collaborator Author

VincyZed commented Jun 4, 2020

Actually on my side, if you move the mouse before pressing enter, it doesn't disappear no matter where it is. And if not, it does disappear no matter where it is. To bring it back, I have to click anywhere on the screen once.

@baconpaul
Copy link
Collaborator

I've figured it out

@baconpaul
Copy link
Collaborator

modality. i was already modal when i called a modal modal thing
just add a Call:later([],1) thing and it properly cedes the ui thread so the mouse stuff can work

baconpaul added a commit to baconpaul/surge that referenced this issue Jun 4, 2020
I was calling spawn_miniedit_text modally inside an already modal
loop so the modal loops unwound improperly in some cases not restoring
cursor. This meant controller name on windows would eat the cursor

Fix it by haing the menu defer the call in a VSTGUI::Call::later

did a quick review and the other spots with miniedit are already
deferred it seems or are called from different parts of the event
loop

Closes surge-synthesizer#1465
baconpaul added a commit that referenced this issue Jun 4, 2020
I was calling spawn_miniedit_text modally inside an already modal
loop so the modal loops unwound improperly in some cases not restoring
cursor. This meant controller name on windows would eat the cursor

Fix it by haing the menu defer the call in a VSTGUI::Call::later

did a quick review and the other spots with miniedit are already
deferred it seems or are called from different parts of the event
loop

Closes #1465
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
UI Issues related to UI look&feel UX Issues related to user experience (UX) - mouse, touch, keyboard, MIDI inputs, etc.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants