From e517e3b634e7995334b0aed9f2b86c8b783b6f9e Mon Sep 17 00:00:00 2001 From: wmayer Date: Sat, 5 Jul 2014 15:46:20 +0200 Subject: [PATCH 1/3] + update NSIS installer --- src/WindowsInstaller/FreeCAD_WindowsInstaller.nsi | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/WindowsInstaller/FreeCAD_WindowsInstaller.nsi b/src/WindowsInstaller/FreeCAD_WindowsInstaller.nsi index 59a4cce66744..e8afffe1b51a 100644 --- a/src/WindowsInstaller/FreeCAD_WindowsInstaller.nsi +++ b/src/WindowsInstaller/FreeCAD_WindowsInstaller.nsi @@ -77,6 +77,8 @@ section "install" setOutPath $INSTDIR\bin # Files added here should be removed by the uninstaller (see section "uninstall") file /r /X *.idb /X *.pyc /X *.pyo "..\..\bin\" + setOutPath $INSTDIR\lib + file /r /X *.lib /X *.pyc /X *.pyo "..\..\lib\" setOutPath $INSTDIR\Mod file /r /X *.idb "..\..\Mod\" setOutPath $INSTDIR\doc @@ -139,12 +141,14 @@ section "uninstall" # Remove files rmDir /r "$INSTDIR\bin" + rmDir /r "$INSTDIR\lib" rmDir /r "$INSTDIR\doc" rmDir /r "$INSTDIR\data" rmDir /r "$INSTDIR\Mod" # Always delete uninstaller as the last action delete $INSTDIR\uninstall.exe + delete $INSTDIR\vcredist_x86.exe # Try to remove the install directory - this will only happen if it is empty rmDir $INSTDIR From d8029588603b00049d6f81f6e85ab58fc33339d0 Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Mon, 7 Jul 2014 12:07:53 -0300 Subject: [PATCH 2/3] Draft: Fixed escape() bug in Draft GUI --- src/Mod/Draft/DraftGui.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/Mod/Draft/DraftGui.py b/src/Mod/Draft/DraftGui.py index 5cb68d467ac8..df9fe7e49691 100644 --- a/src/Mod/Draft/DraftGui.py +++ b/src/Mod/Draft/DraftGui.py @@ -453,7 +453,7 @@ def setupToolBar(self,task=False): QtCore.QObject.connect(self.radiusValue,QtCore.SIGNAL("returnPressed()"),self.validatePoint) QtCore.QObject.connect(self.textValue,QtCore.SIGNAL("textChanged(QString)"),self.storeCurrentText) QtCore.QObject.connect(self.textValue,QtCore.SIGNAL("returnPressed()"),self.sendText) - QtCore.QObject.connect(self.textValue,QtCore.SIGNAL("escaped()"),self.escape) + #QtCore.QObject.connect(self.textValue,QtCore.SIGNAL("escaped()"),self.escape) QtCore.QObject.connect(self.textValue,QtCore.SIGNAL("down()"),self.sendText) QtCore.QObject.connect(self.textValue,QtCore.SIGNAL("up()"),self.lineUp) QtCore.QObject.connect(self.zValue,QtCore.SIGNAL("returnPressed()"),self.xValue.setFocus) @@ -477,26 +477,29 @@ def setupToolBar(self,task=False): QtCore.QObject.connect(self.hasFill,QtCore.SIGNAL("stateChanged(int)"),self.setFill) QtCore.QObject.connect(self.currentViewButton,QtCore.SIGNAL("clicked()"),self.selectCurrentView) QtCore.QObject.connect(self.resetPlaneButton,QtCore.SIGNAL("clicked()"),self.selectResetPlane) - QtCore.QObject.connect(self.xValue,QtCore.SIGNAL("escaped()"),self.escape) QtCore.QObject.connect(self.xValue,QtCore.SIGNAL("undo()"),self.undoSegment) - QtCore.QObject.connect(self.yValue,QtCore.SIGNAL("escaped()"),self.escape) QtCore.QObject.connect(self.yValue,QtCore.SIGNAL("undo()"),self.undoSegment) - QtCore.QObject.connect(self.zValue,QtCore.SIGNAL("escaped()"),self.escape) QtCore.QObject.connect(self.zValue,QtCore.SIGNAL("undo()"),self.undoSegment) - QtCore.QObject.connect(self.radiusValue,QtCore.SIGNAL("escaped()"),self.escape) QtCore.QObject.connect(self.baseWidget,QtCore.SIGNAL("resized()"),self.relocate) QtCore.QObject.connect(self.baseWidget,QtCore.SIGNAL("retranslate()"),self.retranslateUi) QtCore.QObject.connect(self.SSizeValue,QtCore.SIGNAL("valueChanged(double)"),self.changeSSizeValue) QtCore.QObject.connect(self.SSizeValue,QtCore.SIGNAL("returnPressed()"),self.validateSNumeric) - QtCore.QObject.connect(self.SSizeValue,QtCore.SIGNAL("escaped()"),self.escape) QtCore.QObject.connect(self.STrackValue,QtCore.SIGNAL("valueChanged(double)"),self.changeSTrackValue) QtCore.QObject.connect(self.STrackValue,QtCore.SIGNAL("returnPressed()"),self.validateSNumeric) - QtCore.QObject.connect(self.STrackValue,QtCore.SIGNAL("escaped()"),self.escape) QtCore.QObject.connect(self.SStringValue,QtCore.SIGNAL("returnPressed()"),self.validateSString) - QtCore.QObject.connect(self.SStringValue,QtCore.SIGNAL("escaped()"),self.escape) QtCore.QObject.connect(self.chooserButton,QtCore.SIGNAL("pressed()"),self.pickFile) QtCore.QObject.connect(self.FFileValue,QtCore.SIGNAL("returnPressed()"),self.validateFile) - QtCore.QObject.connect(self.FFileValue,QtCore.SIGNAL("escaped()"),self.escape) + + # following lines can cause a crash and are not needed anymore when using the task panel + # http://forum.freecadweb.org/viewtopic.php?f=3&t=6952 + #QtCore.QObject.connect(self.FFileValue,QtCore.SIGNAL("escaped()"),self.escape) + #QtCore.QObject.connect(self.xValue,QtCore.SIGNAL("escaped()"),self.escape) + #QtCore.QObject.connect(self.yValue,QtCore.SIGNAL("escaped()"),self.escape) + #QtCore.QObject.connect(self.zValue,QtCore.SIGNAL("escaped()"),self.escape) + #QtCore.QObject.connect(self.radiusValue,QtCore.SIGNAL("escaped()"),self.escape) + #QtCore.QObject.connect(self.SSizeValue,QtCore.SIGNAL("escaped()"),self.escape) + #QtCore.QObject.connect(self.STrackValue,QtCore.SIGNAL("escaped()"),self.escape) + #QtCore.QObject.connect(self.SStringValue,QtCore.SIGNAL("escaped()"),self.escape) # if Ui changed to have Size & Track visible at same time, use this # QtCore.QObject.connect(self.SSizeValue,QtCore.SIGNAL("returnPressed()"),self.checkSSize) From 52561adbd8946a2714dbe58bc54fd92fd46401d6 Mon Sep 17 00:00:00 2001 From: wmayer Date: Sat, 5 Jul 2014 15:48:50 +0200 Subject: [PATCH 3/3] + fix Part.makeTube --- src/Mod/Part/App/TopoShape.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/Mod/Part/App/TopoShape.cpp b/src/Mod/Part/App/TopoShape.cpp index 4125ba2f38fd..d9084d5d4ef1 100644 --- a/src/Mod/Part/App/TopoShape.cpp +++ b/src/Mod/Part/App/TopoShape.cpp @@ -75,7 +75,7 @@ # include # include # include -#include +# include # include # include # include @@ -91,6 +91,7 @@ # include # include # include +# include # include # include # include @@ -1463,8 +1464,8 @@ static Handle(Law_Function) CreateBsFunction (const Standard_Real theFirst, cons { //Handle_Law_BSpline aBs; //Handle_Law_BSpFunc aFunc = new Law_BSpFunc (aBs, theFirst, theLast); - Handle_Law_Linear aFunc = new Law_Linear(); - aFunc->Set(theFirst, theRadius, theLast, theRadius); + Handle_Law_Constant aFunc = new Law_Constant(); + aFunc->Set(1, theFirst, theLast); return aFunc; } @@ -1472,6 +1473,7 @@ TopoDS_Shape TopoShape::makeTube(double radius, double tol, int cont, int maxdeg { // http://opencascade.blogspot.com/2009/11/surface-modeling-part3.html Standard_Real theTol = tol; + Standard_Real theRadius = radius; //Standard_Boolean theIsPolynomial = Standard_True; Standard_Boolean myIsElem = Standard_True; GeomAbs_Shape theContinuity = GeomAbs_Shape(cont); @@ -1500,11 +1502,11 @@ TopoDS_Shape TopoShape::makeTube(double radius, double tol, int cont, int maxdeg } //circular profile - Handle(Geom_Circle) aCirc = new Geom_Circle (gp::XOY(), radius); + Handle(Geom_Circle) aCirc = new Geom_Circle (gp::XOY(), theRadius); aCirc->Rotate (gp::OZ(), M_PI/2.); //perpendicular section - Handle(Law_Function) myEvol = ::CreateBsFunction (myPath->FirstParameter(), myPath->LastParameter(), radius); + Handle(Law_Function) myEvol = ::CreateBsFunction (myPath->FirstParameter(), myPath->LastParameter(), theRadius); Handle(GeomFill_SectionLaw) aSec = new GeomFill_EvolvedSection(aCirc, myEvol); Handle(GeomFill_LocationLaw) aLoc = new GeomFill_CurveAndTrihedron(new GeomFill_CorrectedFrenet); aLoc->SetCurve (myPath);