View Issue Details

IDProjectCategoryView StatusLast Update
0003843FreeCADBugpublic2019-02-20 16:42
Reportergarya Assigned Towmayer  
Status closedResolutionfixed 
Product Version0.18 
Fixed in Version0.18 
Summary0003843: registration of pointer in navigation cube/cluster is off, makes clicking difficult
DescriptionThe feedback and click actions for the nav cluster is out of register.
The arrows and different blobs in the nav cube are supposed to turn blue to indicate they are sensitive when the pointer is over them. However, the pointer position is out of register with the graphics. For example, on the curved arrows at the top of the cluster, the pointer must be in the lower half of the arrow for it to turn blue and register a click. Similarly, the upper triangular arrow only registers in its lower portion. In the nav cube itself, the point blob in the lower right corner only registers when the pointer is near its lower edge.
As discussed in this thread:
Steps To ReproduceLoad any file.
Set the standard 3D view.
Position the pointer anywhere along the upper part of the left hand curved arrow.
See attached image.
Note that the underlying curved arrow stays white in places when the pointer is over it; it only turns blue when the pointer is over the lower half of the arrow. It should be blue whenever the pointer is anywhere within the arrow, and should respond appropriately to a click.
Additional InformationOS: UNIX (freebsd 11.2 release)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.88228d6
Build type: Release no, built from git fetch
Python version: 2.7.15
Qt version: 4.8.7
Coin version: 3.1.3
OCC version: 7.3.0
Locale: C/Default (C)
Tagsnavigation cube
FreeCAD Information



2019-02-17 00:44



2019-02-18 02:37

reporter   ~0012673

I am working on this.


2019-02-19 04:20

reporter   ~0012681

Fixed in attached diff
wmayer should probably approve.
Lines in question were apparently a hack present when the code was imported.
Truncated comment leaves no clue as to why they were originally inserted; that problem may have disappeared long ago.
Tested with latest v0.18 on master.
Issue_0003843.diff (929 bytes)   
diff --git a/src/Gui/NaviCube.cpp b/src/Gui/NaviCube.cpp
index ed1440b60..5fec11f65 100644
--- a/src/Gui/NaviCube.cpp
+++ b/src/Gui/NaviCube.cpp
@@ -1262,8 +1262,13 @@ bool NaviCubeImplementation::processSoEvent(const SoEvent* ev) {
     short x, y;
     ev->getPosition().getValue(x, y);
     // FIXME find out why do we need to hack the cursor position to get
-    y += 4;
-    x -= 2;
+    // 2019-02-17
+    // The above comment is truncated; don't know what it's about
+    // The two hacked lines changing the cursor positon are responsible for parts of the 
+    // navigational cluster not being active.
+    // Commented them out and everything seems to be working
+//    y += 4;
+//    x -= 2;
 	if (ev->getTypeId().isDerivedFrom(SoMouseButtonEvent::getClassTypeId())) {
 		const SoMouseButtonEvent* mbev = static_cast<const SoMouseButtonEvent*>(ev);
 		if (mbev->isButtonPressEvent(mbev, SoMouseButtonEvent::BUTTON1))
Issue_0003843.diff (929 bytes)   


2019-02-19 13:46

administrator   ~0012693

@wmayer leaving this one for you to have a look


2019-02-20 16:42

administrator   ~0012706

Issue History

Date Modified Username Field Change
2019-02-17 00:44 garya New Issue
2019-02-17 00:44 garya Tag Attached: navigation cube
2019-02-17 00:44 garya File Added: FreeCAD-v0-18-NavCube_PtrOff.png
2019-02-18 02:37 garya Note Added: 0012673
2019-02-19 04:20 garya File Added: Issue_0003843.diff
2019-02-19 04:20 garya Note Added: 0012681
2019-02-19 13:46 yorik Note Added: 0012693
2019-02-20 16:42 wmayer Assigned To => wmayer
2019-02-20 16:42 wmayer Status new => closed
2019-02-20 16:42 wmayer Resolution open => fixed
2019-02-20 16:42 wmayer Fixed in Version => 0.18
2019-02-20 16:42 wmayer Note Added: 0012706