Smooth Vertices called from the F3 operator search will put you in a modal without knowing [doesnt execute immediately] #72069

Closed
opened 2019-11-30 19:12:29 +01:00 by Jonas Printzén · 27 comments

System Information
Operating system: Linux (Ubuntu 18.04)
Graphics card: GTX 1080TI (NV driver 440.26)

Blender Version
Broken: 2.82, (blender-2.82-7af560438966-linux-glibc217-x86_64)
Worked: 2.81 released

Short description of error
Smoothing Vertices in edit mode when called from the F3 operator search will leave you stuck in modal

Exact steps for others to reproduce the error
Simply subdivide the initial cube a few times and called the operator from the F3 operator search
You are in a modal, operator only executes after first mouse click (with unwanted results depending on mouse position)

**System Information** Operating system: Linux (Ubuntu 18.04) Graphics card: GTX 1080TI (NV driver 440.26) **Blender Version** Broken: 2.82, (blender-2.82-7af560438966-linux-glibc217-x86_64) Worked: 2.81 released **Short description of error** `Smoothing Vertices` in edit mode when called from the F3 operator search will leave you stuck in modal **Exact steps for others to reproduce the error** Simply subdivide the initial cube a few times and called the operator from the F3 operator search You are in a modal, operator only executes after first mouse click (with unwanted results depending on mouse position)

Added subscriber: @JonasPrintzen

Added subscriber: @JonasPrintzen

#73445 was marked as duplicate of this issue

#73445 was marked as duplicate of this issue
Jonas Printzén changed title from Smooting in edit mode stopped working (works in XXX) to Smooth vertices in edit mode stopped working (works in 2.81) 2019-11-30 19:18:48 +01:00
Member

Added subscriber: @zazizizou

Added subscriber: @zazizizou
Member

Thanks for reporting. I can't reproduce this on macOS with today's master (last commit is f1ac64921b49eaea8658d144754a1a532198c720).

A unit test for the smoothing operator will be added soon as part of D5357

Thanks for reporting. I can't reproduce this on macOS with today's master (last commit is `f1ac64921b49eaea8658d144754a1a532198c720`). A unit test for the smoothing operator will be added soon as part of [D5357](https://archive.blender.org/developer/D5357)

Added subscriber: @laurijh

Added subscriber: @laurijh

There seems to be a difference between the menus in how the tools are activated. From Vertex menu / Smooth vertices there is instant effect and the tool settings appear in the lower left corner for further adjustment. The toolbar tool requires you to first drag left or right with the mouse to modify your mesh and afterwards pops up the tool options on the viewport corner.

However, it really is confusing that only a subset of the tool options are shown in the sidebar under Tool / Active Tool. Including the Smoothing slider there would also prompt for further action from user. If sidebar or the Tool tab is not open, most of the toolbar tools show no change in the viewport when selected, even mouse cursor stays the same cross.

I see this behaviour in all 2.8x builds though.

There seems to be a difference between the menus in how the tools are activated. From Vertex menu / Smooth vertices there is instant effect and the tool settings appear in the lower left corner for further adjustment. The toolbar tool requires you to first drag left or right with the mouse to modify your mesh and afterwards pops up the tool options on the viewport corner. However, it really is confusing that only a subset of the tool options are shown in the sidebar under Tool / Active Tool. Including the Smoothing slider there would also prompt for further action from user. If sidebar or the Tool tab is not open, most of the toolbar tools show no change in the viewport when selected, even mouse cursor stays the same cross. I see this behaviour in all 2.8x builds though.

Some new info...

I tried with new nightly (blender-2.82-f1ac64921b49-linux-glibc217-x86_64), same failure.
I then tried removing all in $HOME/.config/blender/2.82, same failure.

Then I tried setting a shortcut via menu [Vertex/Smoth vertices] , Failed with similar UI glitch, no shortcut.
Tried setting shortcut via context-menu (rightclick in edit), shortcut registers but same fail...

Then I tried the same with Smoot Laplacian, works flawlessly, including all ways to invoke and setting shortcut!

I also noticed laplacian is not present in menu [Vertex/...] or the - [x] menu.
The - [x] menu has Smooth vertices grouped with Randomize (?) and randomize fail like Smooth vertices.

/ZPU

Some new info... I tried with new nightly (blender-2.82-f1ac64921b49-linux-glibc217-x86_64), same failure. I then tried removing all in $HOME/.config/blender/2.82, same failure. Then I tried setting a shortcut via menu [Vertex/Smoth vertices] , Failed with similar UI glitch, no shortcut. Tried setting shortcut via context-menu (rightclick in edit), shortcut registers but same fail... Then I tried the same with Smoot Laplacian, works flawlessly, including all ways to invoke and setting shortcut! I also noticed laplacian is not present in menu [Vertex/...] or the - [x] menu. The - [x] menu has Smooth vertices grouped with Randomize (?) and randomize fail like Smooth vertices. /ZPU

Can confirm failure of setting shortcut for Smooth Vertices from Vertex menu.

Setting a shortcut from RMB menu and using it requires a mouse click or drag to bring up the tool options, where initial value tends to be 10 and subsequent mouse movement does not reduce it so the result is distortion. Interestingly, a single click of the mouse on the viewport does not actually apply the smoothing but then touching the tool options updates the mesh.

Can confirm failure of setting shortcut for Smooth Vertices from Vertex menu. Setting a shortcut from RMB menu and using it requires a mouse click or drag to bring up the tool options, where initial value tends to be 10 and subsequent mouse movement does not reduce it so the result is distortion. Interestingly, a single click of the mouse on the viewport does not actually apply the smoothing but then touching the tool options updates the mesh.
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

Can confirm calling Smooth Vertices from a shortcut behaves differently from 2.81 release, will check on this further... (this somehow seems to try to call the tool and not the operator?...)

Using the toolbar [aka "the - [x] menu"] and clicking on the tool there seems to work fine here though?
(not sure I am missing something from the repro steps, please clarify the failure in the toolbar...)

And please only one issue per report, answers below, but these will be ignored from now on [unless this is really connected to the reported issue...]

If sidebar or the Tool tab is not open, most of the toolbar tools show no change in the viewport when selected, even mouse cursor stays the same cross.

Do you have the tool settings visible?
image.png

I also noticed laplacian is not present in menu [Vertex/...] or the - [x] menu.

True, but not a bug

Can confirm calling `Smooth Vertices` from a shortcut behaves differently from 2.81 release, will check on this further... (this somehow seems to try to call the tool and not the operator?...) Using the toolbar [aka "the - [x] menu"] and clicking on the tool there seems to work fine here though? (not sure I am missing something from the repro steps, please clarify the failure in the toolbar...) And please only one issue per report, answers below, but these will be ignored from now on [unless this is really connected to the reported issue...] > If sidebar or the Tool tab is not open, most of the toolbar tools show no change in the viewport when selected, even mouse cursor stays the same cross. Do you have the tool settings visible? ![image.png](https://archive.blender.org/developer/F8184889/image.png) > I also noticed laplacian is not present in menu [Vertex/...] or the - [x] menu. True, but not a bug
Philipp Oeser changed title from Smooth vertices in edit mode stopped working (works in 2.81) to Smooth vertices called from a shortcut behaves differently in 2.82 [compared to 2.81 release] 2019-12-02 12:31:03 +01:00
Member

Added subscriber: @ideasman42

Added subscriber: @ideasman42
Member

Caused by f4a4ec8425

@ideasman42 : can these still be called with EXEC_DEFAULT from a shortcut? Or properly start the modal? (seem to be stuck in the middle and waiting for the mouse click...)

Caused by f4a4ec8425 @ideasman42 : can these still be called with `EXEC_DEFAULT` from a shortcut? Or properly start the modal? (seem to be stuck in the middle and waiting for the mouse click...)

Added subscriber: @ThatAsherGuy

Added subscriber: @ThatAsherGuy

Added subscriber: @WilliamReynish

Added subscriber: @WilliamReynish

I cannot reproduce any issues with the Smooth tool here. Seems to work normally.

I cannot reproduce any issues with the Smooth tool here. Seems to work normally.
Member

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'
Philipp Oeser self-assigned this 2020-01-22 20:50:05 +01:00
Member

I can still reproduce this with e.g. f1ac64921b.
But this is working fine in todays build.
Havent hunted down the exact commit, but looks like this was resolved along the way, closing...

@JonasPrintzen: please try a new build from https://builder.blender.org/download/
(feel free to comment again if issues persist...)

I can still reproduce this with e.g. f1ac64921b. But this is working fine in todays build. Havent hunted down the exact commit, but looks like this was resolved along the way, closing... @JonasPrintzen: please try a new build from https://builder.blender.org/download/ (feel free to comment again if issues persist...)

The core issue still exists; call the operator via operator search. If you want a superficial fix, do this:

diff --git a/source/blender/windowmanager/intern/wm_operator_utils.c b/source/blender/windowmanager/intern/wm_operator_utils.cindex 44afa708136..c9a7c6e119b 100644
--- a/source/blender/windowmanager/intern/wm_operator_utils.c
+++ b/source/blender/windowmanager/intern/wm_operator_utils.c
@@ -336,7 +336,7 @@ void WM_operator_type_modal_from_exec_for_object_edit_coords(wmOperatorType *ot)
   ot->modal = op_generic_value_modal;
   ot->cancel = op_generic_value_cancel;

-  prop = RNA_def_boolean(ot->srna, "wait_for_input", true, "Wait for Input", "");
+  prop = RNA_def_boolean(ot->srna, "wait_for_input", false, "Wait for Input", "");
   RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
 }

For a more thorough fix you'll have call ED_workspace_status_text() in op_generic_value_invoke() and throw some info into the status bar, so users know they're in a modal, and base the adjustment amount on the initializing click location instead of where the cursor was on invoke.

The core issue still exists; call the operator via operator search. If you want a superficial fix, do this: ``` diff --git a/source/blender/windowmanager/intern/wm_operator_utils.c b/source/blender/windowmanager/intern/wm_operator_utils.cindex 44afa708136..c9a7c6e119b 100644 --- a/source/blender/windowmanager/intern/wm_operator_utils.c +++ b/source/blender/windowmanager/intern/wm_operator_utils.c @@ -336,7 +336,7 @@ void WM_operator_type_modal_from_exec_for_object_edit_coords(wmOperatorType *ot) ot->modal = op_generic_value_modal; ot->cancel = op_generic_value_cancel; - prop = RNA_def_boolean(ot->srna, "wait_for_input", true, "Wait for Input", ""); + prop = RNA_def_boolean(ot->srna, "wait_for_input", false, "Wait for Input", ""); RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE); } ``` For a more thorough fix you'll have call `ED_workspace_status_text()` in `op_generic_value_invoke()` and throw some info into the status bar, so users know they're in a modal, and base the adjustment amount on the initializing click location instead of where the cursor was on invoke.
Member

Changed status from 'Resolved' to: 'Needs Developer To Reproduce'

Changed status from 'Resolved' to: 'Needs Developer To Reproduce'
Member

Thx for getting back, will have a look again

Thx for getting back, will have a look again
Member

I see this was (partially) addressed in 86832ececc.
So thats why I wasnt able reproduce when calling from the menus (or thus shortcuts) because these are now calling the operator with a factor set, immediately executing.

True though that calling this from the F3 search will still leave you stuck in modal...

@ideasman42 : will lower the prio (and update the task description), but have an idea here?

I see this was (partially) addressed in 86832ececc. So thats why I wasnt able reproduce when calling from the menus (or thus shortcuts) because these are now calling the operator with a factor set, immediately executing. True though that calling this from the F3 search will still leave you stuck in modal... @ideasman42 : will lower the prio (and update the task description), but have an idea here?
Philipp Oeser changed title from Smooth vertices called from a shortcut behaves differently in 2.82 [compared to 2.81 release] to Smooth Vertices called from the F3 operator search will put you in a modal without knowing [doesnt execute immediately] 2020-01-24 14:13:15 +01:00
Philipp Oeser removed their assignment 2020-01-24 14:13:33 +01:00

Added subscriber: @OdinFernandezMoreno

Added subscriber: @OdinFernandezMoreno

Changed status from 'Needs Developer To Reproduce' to: 'Archived'

Changed status from 'Needs Developer To Reproduce' to: 'Archived'
Campbell Barton self-assigned this 2020-01-28 02:34:31 +01:00

Smooth is now a modal operator, calling from operator-search gives similar behavior to inset and bevel.

If you want to access this non-modally, it can be done via the vertex menu (Ctrl-V, O for example), or you can assign this menu item to a key binding which also runs non-modally.

Closing.

Smooth is now a modal operator, calling from operator-search gives similar behavior to inset and bevel. If you want to access this non-modally, it can be done via the vertex menu (`Ctrl-V, O` for example), or you can assign this menu item to a key binding which also runs non-modally. Closing.

The issue is that, when 'wait for input' is true (as it is by default), the modal starts without updating the header or the status bar. The user doesn't know a modal has started, why viewport navigation is blocked, or what input the operator is waiting for. When they do figure it out, the modal starts with an arbitrary smooth value that's rarely useful.

Is that the intended behavior?

The issue is that, when 'wait for input' is true (as it is by default), the modal starts without updating the header or the status bar. The user doesn't know a modal has started, why viewport navigation is blocked, or what input the operator is waiting for. When they do figure it out, the modal starts with an arbitrary smooth value that's rarely useful. Is that the intended behavior?

Added subscriber: @AnadinX

Added subscriber: @AnadinX

@ideasman42 (sorry to raise this on a closed issue but I agree with @ThatAsherGuy. If you look in the attached video, (from 2.8 Beta)

bevel puts you into a state (there is a line between the cursor and the object, moving the mouse has an obvious function
inset puts you into a state (there is a line between the cursor and the object, moving the mouse has an obvious function
smooth does absolutely nothing, no change on any status bars, no in view indicator etc. You HAVE to click on the screen to make the info/interaction window even appear.

In Blender 2.79, the panel appears in the T-Panel when you invoke the operator from the search menu,

BevelInsertSmooth.mp4

PS Extude is also intuitive, your mouse movement extrudes the face, there is no extra click to enable/start the operator.

@ThatAsherGuy's point is you are put into a state where you really don't know what is going on.

If you choose Smooth from the search menu you get nothing on screen at all
If you choose Smooth from the context menu, you get the popup with the values etc. but no widget
if you choose Smooth from the tool bar you get a widget but no popup, that popup suddenly appears once you start interacting with the widget

At the very least when choosing it from the search menu the popup showing would at least let you know you are able/about to do something

@ideasman42 (sorry to raise this on a closed issue but I agree with @ThatAsherGuy. If you look in the attached video, (from 2.8 Beta) bevel puts you into a state (there is a line between the cursor and the object, moving the mouse has an obvious function inset puts you into a state (there is a line between the cursor and the object, moving the mouse has an obvious function smooth does absolutely nothing, no change on any status bars, no in view indicator etc. You HAVE to click on the screen to make the info/interaction window even appear. In Blender 2.79, the panel appears in the T-Panel when you invoke the operator from the search menu, [BevelInsertSmooth.mp4](https://archive.blender.org/developer/F8312638/BevelInsertSmooth.mp4) PS Extude is also intuitive, your mouse movement extrudes the face, there is no extra click to enable/start the operator. @ThatAsherGuy's point is you are put into a state where you really don't know what is going on. If you choose Smooth from the search menu you get nothing on screen at all If you choose Smooth from the context menu, you get the popup with the values etc. but no widget if you choose Smooth from the tool bar you get a widget but no popup, that popup suddenly appears once you start interacting with the widget At the very least when choosing it from the search menu the popup showing would at least let you know you are able/about to do something
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
9 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#72069
No description provided.