View Issue Details

IDProjectCategoryView StatusLast Update
0004478SketcherBugpublic2020-11-09 18:08
Reporterchennes Assigned Toabdullah  
Status closedResolutionfixed 
Summary0004478: Active constraint tool blocks sidebar tasks from working
DescriptionIf a constraint tool is active, various commands in the Task sidebar that appear to be available are blocked from working. For example, the text "click to select" in the Solver's redundant constraint message is unresponsive, although it appears clickable. Constraint right click menu options such as "Delete" also do nothing. No error is reported when selecting them: nothing happens at all.

Steps To ReproduceThis comes up particularly when your workflow is to select the constraint operation first, and then click on the elements needed for the constraint. If this results in a redundant constraint you'd probably like to address that immediately, but clicking on the "click to select" text does nothing. So, e.g.:
  1. Draw a vertical line with the automatically applied vertical constraint
  2. Draw a second vertical line with the automatically applied vertical constraint
  3. Click on the Parallel constraint button
  4. Click on the two lines. The solver will fail and warn you about a redundant constraint
  5. (Attempt to) click on the text "Click to select" in the message from the solver. Nothing happens.
  6. Right click on the extra vertical constraint and choose Delete. Nothing happens.
Additional InformationBasically, any command that requires a check through isSketcherAcceleratorActive() does not work when a Constraint operation is active, and is silently cancelled by the condition that requires that Mode == ViewProviderSketch::STATUS_NONE.

In the forums discussion ( chrisb suggests: "It should behave in the same way as when selecting a different geometric constraint or a geometric element creation icon: the previously selected function is cancelled immediately."
TagsNo tags attached.
FreeCAD InformationOS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.22865 (Git)
Build type: Debug
Branch: master
Hash: 3c307b7a3c222d66cb70695cdcf79606553fcb91
Python version: 3.6.8
Qt version: 5.12.1
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/United States (en_US)



2020-11-07 19:30

viewer   ~0014964

Fix committed to master branch.


2020-11-09 18:04

manager   ~0014969

fixed by chennes

Related Changesets

FreeCAD: master c23e1dd7

2020-11-05 22:53:08


Committer: abdullahtahiriyo Details Diff
Release handler in commands where not needed

Fixes 0004478: Active constraint tool blocks sidebar tasks from working.

Many commands are interrupted by the existence of a handler. Rather than having these commands silently cancel, purge the handler if a command executes that does not need it.

When right-clicking on an item in the Constraint Task sidebar, any current operation is cancelled and the FreeCAD selection is synced with the selected items in the constraints QListWidget. This allows all of the menu items in the context menu to function properly: if the selection is not synced, anything that relies on the FreeCAD selection (like Delete) will sillently fail.
Affected Issues
mod - src/Mod/Sketcher/Gui/CommandConstraints.cpp Diff File
mod - src/Mod/Sketcher/Gui/CommandConstraints.h Diff File
mod - src/Mod/Sketcher/Gui/CommandSketcherTools.cpp Diff File
mod - src/Mod/Sketcher/Gui/TaskSketcherConstrains.cpp Diff File

Issue History

Date Modified Username Field Change
2020-10-29 17:04 chennes New Issue
2020-10-29 17:08 chennes Additional Information Updated
2020-10-29 17:53 openBrain Status new => acknowledged
2020-10-29 17:53 openBrain Additional Information Updated
2020-11-07 19:30 chennes Changeset attached => FreeCAD master c23e1dd7
2020-11-07 19:30 guest Note Added: 0014964
2020-11-09 18:04 abdullah Assigned To => abdullah
2020-11-09 18:04 abdullah Status acknowledged => resolved
2020-11-09 18:04 abdullah Resolution open => fixed
2020-11-09 18:04 abdullah Fixed in Version => 0.19
2020-11-09 18:04 abdullah Note Added: 0014969
2020-11-09 18:08 abdullah Status resolved => closed