diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/cMake/FreeCAD_Helpers/SetupQt.cmake freecad-daily-0.20.2~202307210703~ubuntu22.10.1/cMake/FreeCAD_Helpers/SetupQt.cmake --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/cMake/FreeCAD_Helpers/SetupQt.cmake 2023-07-20 07:03:08.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/cMake/FreeCAD_Helpers/SetupQt.cmake 2023-07-21 07:03:23.000000000 +0000 @@ -38,6 +38,8 @@ set(CMAKE_AUTOUIC TRUE) set(QtCore_MOC_EXECUTABLE ${Qt${FREECAD_QT_MAJOR_VERSION}Core_MOC_EXECUTABLE}) +add_definitions(-DQT_NO_KEYWORDS) + message(STATUS "Set up to compile with Qt ${Qt${FREECAD_QT_MAJOR_VERSION}Core_VERSION}") # In Qt 5.15 they added more generic names for these functions: "backport" those new names diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake freecad-daily-0.20.2~202307210703~ubuntu22.10.1/cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake 2023-07-20 07:03:08.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake 2023-07-21 07:03:23.000000000 +0000 @@ -120,7 +120,7 @@ option(FREECAD_USE_SHIBOKEN "Links to the shiboken library at build time. If OFF its Python module is imported at runtime" OFF) endif() - # Now try to import the shiboken Python module and print an error if it can't be loaded + # Now try to import the shiboken Python module and print a warning if it can't be loaded execute_process( COMMAND ${PYTHON_EXECUTABLE} -c "import shiboken${SHIBOKEN_MAJOR_VERSION}" RESULT_VARIABLE FAILURE @@ -128,7 +128,7 @@ ) if(FAILURE) - message(FATAL_ERROR, + message(WARNING "==================================\n" "Shiboken${SHIBOKEN_MAJOR_VERSION} Python module not found.\n" "==================================\n") @@ -148,14 +148,14 @@ option(FREECAD_USE_PYSIDE "Links to the PySide libraries at build time." OFF) endif() - # Independent of the build option PySide modules must be loaded at runtime. Print an error if it fails. + # Independent of the build option PySide modules must be loaded at runtime. Print a warning if it fails. execute_process( COMMAND ${PYTHON_EXECUTABLE} -c "import PySide${PYSIDE_MAJOR_VERSION};import os;print(os.path.dirname(PySide${PYSIDE_MAJOR_VERSION}.__file__), end='')" RESULT_VARIABLE FAILURE OUTPUT_VARIABLE PRINT_OUTPUT ) if(FAILURE) - message(FATAL_ERROR, + message(WARNING "================================\n" "PySide${PYSIDE_MAJOR_VERSION} Python module not found.\n" "================================\n") diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/debian/changelog freecad-daily-0.20.2~202307210703~ubuntu22.10.1/debian/changelog --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/debian/changelog 2023-07-20 07:03:36.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/debian/changelog 2023-07-21 07:03:48.000000000 +0000 @@ -1,8 +1,8 @@ -freecad-daily (0.20.2~202307200703~ubuntu22.10.1) kinetic; urgency=low +freecad-daily (0.20.2~202307210703~ubuntu22.10.1) kinetic; urgency=low * Auto build. - -- Tuukka Pasanen Thu, 20 Jul 2023 07:03:36 +0000 + -- Tuukka Pasanen Fri, 21 Jul 2023 07:03:48 +0000 freecad-daily (0.20.2-3) unstable; urgency=medium diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/debian/git-build-recipe.manifest freecad-daily-0.20.2~202307210703~ubuntu22.10.1/debian/git-build-recipe.manifest --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/debian/git-build-recipe.manifest 2023-07-20 07:03:36.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/debian/git-build-recipe.manifest 2023-07-21 07:03:48.000000000 +0000 @@ -1,3 +1,3 @@ -# git-build-recipe format 0.4 deb-version {debupstream}~202307200703 -lp:~freecad-maintainers/freecad/+git/freecad git-commit:ae215724dd6c5336dcbb263733c6830a24917963 +# git-build-recipe format 0.4 deb-version {debupstream}~202307210703 +lp:~freecad-maintainers/freecad/+git/freecad git-commit:b1e521743b359ce02ca8526efbed2feb6331dd4f nest-part debian lp:~pasanen-tuukka/+git/freecad-test debian debian git-commit:e76d446ff3854c3ceb25378e01c3f50cdb545422 diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/.pc/.quilt_patches freecad-daily-0.20.2~202307210703~ubuntu22.10.1/.pc/.quilt_patches --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/.pc/.quilt_patches 2023-07-20 07:03:36.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/.pc/.quilt_patches 2023-07-21 07:03:48.000000000 +0000 @@ -1 +1 @@ -/home/buildd/build-RECIPEBRANCHBUILD-3576148/chroot-autobuild/home/buildd/work/tree/recipe/debian/patches +/home/buildd/build-RECIPEBRANCHBUILD-3576777/chroot-autobuild/home/buildd/work/tree/recipe/debian/patches diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/.pc/.quilt_series freecad-daily-0.20.2~202307210703~ubuntu22.10.1/.pc/.quilt_series --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/.pc/.quilt_series 2023-07-20 07:03:36.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/.pc/.quilt_series 2023-07-21 07:03:48.000000000 +0000 @@ -1 +1 @@ -/home/buildd/build-RECIPEBRANCHBUILD-3576148/chroot-autobuild/home/buildd/work/tree/recipe/debian/patches/series +/home/buildd/build-RECIPEBRANCHBUILD-3576777/chroot-autobuild/home/buildd/work/tree/recipe/debian/patches/series diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/boost_regex.hpp freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/boost_regex.hpp --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/boost_regex.hpp 2023-07-20 07:03:11.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/boost_regex.hpp 2023-07-21 07:03:25.000000000 +0000 @@ -10,6 +10,7 @@ # define NOMINMAX # endif # include +# undef BASETYPES # endif #endif diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/FCConfig.h freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/FCConfig.h --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/FCConfig.h 2023-07-20 07:03:08.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/FCConfig.h 2023-07-21 07:03:23.000000000 +0000 @@ -230,9 +230,13 @@ // Qt // Make sure to explicitly use the correct conversion -#define QT_NO_CAST_FROM_ASCII -#undef QT3_SUPPORT -#define QT_NO_KEYWORDS +#ifndef QT_NO_CAST_FROM_ASCII +# define QT_NO_CAST_FROM_ASCII +#endif + +#ifndef QT_NO_KEYWORDS +# define QT_NO_KEYWORDS +#endif #if defined (FC_OS_WIN32) || defined(FC_OS_CYGWIN) # ifndef QT_DLL diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/Application.cpp freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/Application.cpp --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/Application.cpp 2023-07-20 07:03:08.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/Application.cpp 2023-07-21 07:03:23.000000000 +0000 @@ -2518,6 +2518,17 @@ } } +void Application::checkForDeprecatedSettings() +{ + // From 0.21, `FCBak` will be the intended default backup format + // TODO: Check for `FCStd#` and warn user. + bool useFCBakExtension = App::GetApplication().GetParameterGroupByPath + ("User parameter:BaseApp/Preferences/Document")->GetBool("UseFCBakExtension", true); + if (!useFCBakExtension) { + Base::Console().Warning("`.FCStd#` backup format is deprecated from 0.21 and may be removed in future versions. Please use `.FCBak` instead.\n"); + } +} + void Application::checkForPreviousCrashes() { try { diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/Application.h freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/Application.h --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/Application.h 2023-07-20 07:03:08.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/Application.h 2023-07-21 07:03:23.000000000 +0000 @@ -192,6 +192,8 @@ /// true when the application shutting down bool isClosing(); + + void checkForDeprecatedSettings(); void checkForPreviousCrashes(); /** @name workbench handling */ diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/DlgMacroExecuteImp.cpp freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/DlgMacroExecuteImp.cpp --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/DlgMacroExecuteImp.cpp 2023-07-20 07:03:08.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/DlgMacroExecuteImp.cpp 2023-07-21 07:03:23.000000000 +0000 @@ -620,7 +620,6 @@ workbenchBox->setCurrentIndex(globalIdx); QMetaObject::invokeMethod(setupToolbarPage, "on_workbenchBox_activated", Qt::DirectConnection, - QGenericReturnArgument(), Q_ARG(int, globalIdx)); } else { Base::Console().Warning("Toolbar walkthrough: Unable to find Global workbench\n"); @@ -656,7 +655,6 @@ categoryBox->setCurrentIndex(macrosIdx); QMetaObject::invokeMethod(setupToolbarPage, "on_categoryBox_activated", Qt::DirectConnection, - QGenericReturnArgument(), Q_ARG(int, macrosIdx)); } else { Base::Console().Warning("Toolbar walkthrough: Unable to find Macros in categoryBox\n"); diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/DlgPreferencesImp.cpp freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/DlgPreferencesImp.cpp --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/DlgPreferencesImp.cpp 2023-07-20 07:03:08.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/DlgPreferencesImp.cpp 2023-07-21 07:03:23.000000000 +0000 @@ -29,7 +29,6 @@ # include # include # include -# include # include # include # include @@ -546,7 +545,6 @@ int newHeight = std::min(height(), maxHeight); QMetaObject::invokeMethod(this, "resizeWindow", Qt::QueuedConnection, - QGenericReturnArgument(), Q_ARG(int, newWidth), Q_ARG(int, newHeight)); } diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/MainWindow.cpp freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/MainWindow.cpp --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/MainWindow.cpp 2023-07-20 07:03:09.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/MainWindow.cpp 2023-07-21 07:03:23.000000000 +0000 @@ -1448,6 +1448,9 @@ return; } + // TODO: Check for deprecated settings + Application::Instance->checkForDeprecatedSettings(); + // Create new document? ParameterGrp::handle hGrp = WindowParameter::getDefaultParameter()->GetGroup("Document"); if (hGrp->GetBool("CreateNewDoc", false)) { @@ -1491,7 +1494,7 @@ // the whole application in a weird state if (d->activityTimer->thread() != QThread::currentThread()) { QMetaObject::invokeMethod(d->activityTimer, "start", Qt::QueuedConnection, - QGenericReturnArgument(), Q_ARG(int, 150)); + Q_ARG(int, 150)); } else { d->activityTimer->start(150); diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/ProgressBar.cpp freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/ProgressBar.cpp --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/ProgressBar.cpp 2023-07-20 07:03:09.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/ProgressBar.cpp 2023-07-21 07:03:23.000000000 +0000 @@ -24,7 +24,6 @@ #ifndef _PreComp_ # include # include -# include # include # include # include @@ -143,7 +142,7 @@ if (thr != currentThread) { d->guiThread = false; QMetaObject::invokeMethod(d->bar, "setRangeEx", Qt::QueuedConnection, - QGenericReturnArgument(), Q_ARG(int, 0), Q_ARG(int, (int)nTotalSteps)); + Q_ARG(int, 0), Q_ARG(int, (int)nTotalSteps)); d->progressTime.start(); d->checkAbortTime.start(); d->measureTime.start(); @@ -247,7 +246,7 @@ d->progressTime.restart(); if (thr != currentThread) { QMetaObject::invokeMethod(d->bar, "setValueEx", Qt::/*Blocking*/QueuedConnection, - QGenericReturnArgument(), Q_ARG(int,d->bar->value()+1)); + Q_ARG(int,d->bar->value()+1)); } else { d->bar->setValueEx(d->bar->value()+1); @@ -262,7 +261,7 @@ d->progressTime.restart(); if (thr != currentThread) { QMetaObject::invokeMethod(d->bar, "setValueEx", Qt::/*Blocking*/QueuedConnection, - QGenericReturnArgument(), Q_ARG(int,step)); + Q_ARG(int,step)); if (d->bar->isVisible()) showRemainingTime(); } @@ -301,7 +300,6 @@ if (thr != currentThread) { QMetaObject::invokeMethod(getMainWindow(), "showMessage", Qt::/*Blocking*/QueuedConnection, - QGenericReturnArgument(), Q_ARG(QString,status)); } else { @@ -320,11 +318,9 @@ QMetaObject::invokeMethod(d->bar, "aboutToHide", Qt::QueuedConnection); QMetaObject::invokeMethod(getMainWindow(), "showMessage", Qt::/*Blocking*/QueuedConnection, - QGenericReturnArgument(), Q_ARG(QString,QString())); QMetaObject::invokeMethod(getMainWindow(), "setPaneText", Qt::/*Blocking*/QueuedConnection, - QGenericReturnArgument(), Q_ARG(int,1), Q_ARG(QString,QString())); d->bar->leaveControlEvents(d->guiThread); @@ -363,7 +359,6 @@ if (thr != currentThread) { QMetaObject::invokeMethod(getMainWindow(), "showMessage", Qt::/*Blocking*/QueuedConnection, - QGenericReturnArgument(), Q_ARG(QString,d->text)); } else { diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/ProgressDialog.cpp freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/ProgressDialog.cpp --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/ProgressDialog.cpp 2023-07-20 07:03:09.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/ProgressDialog.cpp 2023-07-21 07:03:23.000000000 +0000 @@ -88,7 +88,7 @@ if (thr != currentThread) { d->guiThread = false; QMetaObject::invokeMethod(d->dlg, "setRangeEx", Qt::QueuedConnection, - QGenericReturnArgument(), Q_ARG(int, 0), Q_ARG(int, (int)nTotalSteps)); + Q_ARG(int, 0), Q_ARG(int, (int)nTotalSteps)); d->dlg->setModal(false); if (nTotalSteps == 0) { d->progressTime.start(); @@ -96,7 +96,7 @@ d->measureTime.start(); QMetaObject::invokeMethod(d->dlg, "setValueEx", Qt::QueuedConnection, - QGenericReturnArgument(), Q_ARG(int,0)); + Q_ARG(int,0)); QMetaObject::invokeMethod(d->dlg, "aboutToShow", Qt::QueuedConnection); } else { @@ -174,7 +174,7 @@ d->progressTime.restart(); if (thr != currentThread) { QMetaObject::invokeMethod(d->dlg, "setValueEx", Qt::/*Blocking*/QueuedConnection, - QGenericReturnArgument(), Q_ARG(int,d->dlg->value()+1)); + Q_ARG(int,d->dlg->value()+1)); } else { d->dlg->setValueEx(d->dlg->value()+1); @@ -185,7 +185,7 @@ else { if (thr != currentThread) { QMetaObject::invokeMethod(d->dlg, "setValueEx", Qt::/*Blocking*/QueuedConnection, - QGenericReturnArgument(), Q_ARG(int,step)); + Q_ARG(int,step)); if (d->dlg->isVisible()) showRemainingTime(); } @@ -222,7 +222,6 @@ if (thr != currentThread) { QMetaObject::invokeMethod(d->dlg, "setLabelText", Qt::/*Blocking*/QueuedConnection, - QGenericReturnArgument(), Q_ARG(QString,status)); } else { @@ -241,7 +240,6 @@ QMetaObject::invokeMethod(d->dlg, "hide", Qt::QueuedConnection); QMetaObject::invokeMethod(d->dlg, "setLabelText", Qt::/*Blocking*/QueuedConnection, - QGenericReturnArgument(), Q_ARG(QString,QString())); } else { @@ -279,7 +277,6 @@ if (thr != currentThread) { QMetaObject::invokeMethod(d->dlg, "setLabelText", Qt::/*Blocking*/QueuedConnection, - QGenericReturnArgument(), Q_ARG(QString,d->text)); } else { diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/propertyeditor/PropertyItem.cpp freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/propertyeditor/PropertyItem.cpp --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/propertyeditor/PropertyItem.cpp 2023-07-20 07:03:09.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/propertyeditor/PropertyItem.cpp 2023-07-21 07:03:23.000000000 +0000 @@ -1044,7 +1044,7 @@ if (!value.canConvert()) return; double val = value.toDouble(); - QString data = QString::fromLatin1("%1").arg(val, 0, 'f', decimals()); + QString data = QString::fromLatin1("%1").arg(val, 0, 'g', 16); setPropertyValue(data); } } @@ -1113,7 +1113,7 @@ return; const Base::Quantity& val = value.value(); - Base::QuantityFormat format(Base::QuantityFormat::Fixed, decimals()); + Base::QuantityFormat format(Base::QuantityFormat::Default, 16); QString unit = Base::UnitsApi::toString(val, format); setPropertyValue(unit); } @@ -1220,7 +1220,7 @@ if (!value.canConvert()) return; double val = value.toDouble(); - QString data = QString::fromLatin1("%1").arg(val, 0, 'f', decimals()); + QString data = QString::fromLatin1("%1").arg(val, 0, 'g', 16); setPropertyValue(data); } } @@ -1427,9 +1427,9 @@ return; const Base::Vector3d& val = value.value(); QString data = QString::fromLatin1("(%1, %2, %3)") - .arg(val.x,0,'f',decimals()) - .arg(val.y,0,'f',decimals()) - .arg(val.z,0,'f',decimals()); + .arg(val.x,0,'g',16) + .arg(val.y,0,'g',16) + .arg(val.z,0,'g',16); setPropertyValue(data); } @@ -1650,9 +1650,9 @@ str << "["; for (const auto& it : val) { str << QString::fromLatin1("(%1, %2, %3), ") - .arg(it.x, 0, 'f', decimals()) - .arg(it.y, 0, 'f', decimals()) - .arg(it.z, 0, 'f', decimals()); + .arg(it.x, 0, 'g', 16) + .arg(it.y, 0, 'g', 16) + .arg(it.z, 0, 'g', 16); } str << "]"; setPropertyValue(data); @@ -1729,7 +1729,7 @@ Base::Quantity y = Base::Quantity(value.y, Base::Unit::Length); Base::Quantity z = Base::Quantity(value.z, Base::Unit::Length); - Base::QuantityFormat format(Base::QuantityFormat::Fixed, decimals()); + Base::QuantityFormat format(Base::QuantityFormat::Default, 16); QString data = QString::fromLatin1("(%1, %2, %3)") .arg(Base::UnitsApi::toNumber(x, format), Base::UnitsApi::toNumber(y, format), @@ -1941,24 +1941,23 @@ if (hasExpression() || !value.canConvert()) return; const Base::Matrix4D& val = value.value(); - const int decimals=16; QString data = QString::fromLatin1("FreeCAD.Matrix(%1, %2, %3, %4, %5, %6, %7, %8, %9, %10, %11, %12, %13, %14, %15, %16)") - .arg(val[0][0],0, 'f', decimals) - .arg(val[0][1],0, 'f', decimals) - .arg(val[0][2],0, 'f', decimals) - .arg(val[0][3],0, 'f', decimals) - .arg(val[1][0],0, 'f', decimals) - .arg(val[1][1],0, 'f', decimals) - .arg(val[1][2],0, 'f', decimals) - .arg(val[1][3],0, 'f', decimals) - .arg(val[2][0],0, 'f', decimals) - .arg(val[2][1],0, 'f', decimals) - .arg(val[2][2],0, 'f', decimals) - .arg(val[2][3],0, 'f', decimals) - .arg(val[3][0],0, 'f', decimals) - .arg(val[3][1],0, 'f', decimals) - .arg(val[3][2],0, 'f', decimals) - .arg(val[3][3],0, 'f', decimals); + .arg(val[0][0],0, 'g', 16) + .arg(val[0][1],0, 'g', 16) + .arg(val[0][2],0, 'g', 16) + .arg(val[0][3],0, 'g', 16) + .arg(val[1][0],0, 'g', 16) + .arg(val[1][1],0, 'g', 16) + .arg(val[1][2],0, 'g', 16) + .arg(val[1][3],0, 'g', 16) + .arg(val[2][0],0, 'g', 16) + .arg(val[2][1],0, 'g', 16) + .arg(val[2][2],0, 'g', 16) + .arg(val[2][3],0, 'g', 16) + .arg(val[3][0],0, 'g', 16) + .arg(val[3][1],0, 'g', 16) + .arg(val[3][2],0, 'g', 16) + .arg(val[3][3],0, 'g', 16); setPropertyValue(data); } @@ -2417,7 +2416,7 @@ Base::Vector3d axis; double angle; h.getValue(axis, angle); - Base::QuantityFormat format(Base::QuantityFormat::Fixed, decimals()); + Base::QuantityFormat format(Base::QuantityFormat::Default, 16); QString data = QString::fromLatin1("App.Rotation(App.Vector(%1,%2,%3),%4)") .arg(Base::UnitsApi::toNumber(axis.x, format), Base::UnitsApi::toNumber(axis.y, format), @@ -2726,7 +2725,7 @@ double angle; h.getValue(axis, angle); - Base::QuantityFormat format(Base::QuantityFormat::Fixed, decimals()); + Base::QuantityFormat format(Base::QuantityFormat::Default, 16); QString data = QString::fromLatin1("App.Placement(" "App.Vector(%1,%2,%3)," "App.Rotation(App.Vector(%4,%5,%6),%7))") diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/QSint/actionpanel/actionbox.cpp freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/QSint/actionpanel/actionbox.cpp --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/QSint/actionpanel/actionbox.cpp 2023-07-20 07:03:09.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/QSint/actionpanel/actionbox.cpp 2023-07-21 07:03:23.000000000 +0000 @@ -148,7 +148,7 @@ QLayout *l = createHBoxLayout(); - foreach (QAction *action, actions) { + Q_FOREACH (QAction *action, actions) { ActionLabel *act = createItem(action, l); if (act) list.append(act); diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/QSint/actionpanel/actionpanel.cpp freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/QSint/actionpanel/actionpanel.cpp --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/QSint/actionpanel/actionpanel.cpp 2023-07-20 07:03:09.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/QSint/actionpanel/actionpanel.cpp 2023-07-21 07:03:23.000000000 +0000 @@ -39,7 +39,7 @@ // set scheme for children QObjectList list(children()); - foreach(QObject *obj, list) { + Q_FOREACH(QObject *obj, list) { if (dynamic_cast(obj)) { ((ActionGroup*)obj)->setScheme(scheme); continue; diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/Quarter/ContextMenu.cpp freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/Quarter/ContextMenu.cpp --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/Quarter/ContextMenu.cpp 2023-07-20 07:03:09.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/Quarter/ContextMenu.cpp 2023-07-21 07:03:23.000000000 +0000 @@ -60,7 +60,7 @@ QActionGroup * stereomodegroup = nullptr; QActionGroup * transparencytypegroup = nullptr; - foreach (QAction * action, quarterwidget->renderModeActions()) { + Q_FOREACH (QAction * action, quarterwidget->renderModeActions()) { if (!rendermodegroup) { rendermodegroup = action->actionGroup(); } else { @@ -73,7 +73,7 @@ rendermenu->addAction(action); } - foreach (QAction * action, quarterwidget->stereoModeActions()) { + Q_FOREACH (QAction * action, quarterwidget->stereoModeActions()) { if (!stereomodegroup) { stereomodegroup = action->actionGroup(); } else { @@ -86,7 +86,7 @@ stereomenu->addAction(action); } - foreach (QAction * action, quarterwidget->transparencyTypeActions()) { + Q_FOREACH (QAction * action, quarterwidget->transparencyTypeActions()) { if (!transparencytypegroup) { transparencytypegroup = action->actionGroup(); } else { diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/Quarter/EventFilter.cpp freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/Quarter/EventFilter.cpp --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/Quarter/EventFilter.cpp 2023-07-20 07:03:09.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/Quarter/EventFilter.cpp 2023-07-21 07:03:23.000000000 +0000 @@ -58,7 +58,7 @@ this->windowsize = SbVec2s(event->size().width(), event->size().height()); - foreach(InputDevice * device, this->devices) { + Q_FOREACH(InputDevice * device, this->devices) { device->setWindowSize(this->windowsize); } } @@ -75,7 +75,7 @@ SbVec2s mousepos(event->pos().x(), this->windowsize[1] - event->pos().y() - 1); // the following corrects for high-dpi displays (e.g. mac retina) mousepos *= quarterwidget->devicePixelRatio(); - foreach(InputDevice * device, this->devices) { + Q_FOREACH(InputDevice * device, this->devices) { device->setMousePosition(mousepos); } } @@ -162,7 +162,7 @@ // translate QEvent into SoEvent and see if it is handled by scene // graph - foreach(InputDevice * device, PRIVATE(this)->devices) { + Q_FOREACH(InputDevice * device, PRIVATE(this)->devices) { const SoEvent * soevent = device->translateEvent(qevent); if (soevent && PRIVATE(this)->quarterwidget->processSoEvent(soevent)) { return true; diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/Quarter/QuarterWidget.cpp freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/Quarter/QuarterWidget.cpp --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Gui/Quarter/QuarterWidget.cpp 2023-07-20 07:03:09.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Gui/Quarter/QuarterWidget.cpp 2023-07-21 07:03:23.000000000 +0000 @@ -828,7 +828,7 @@ } if(PRIVATE(this)->device_pixel_ratio != dev_pix_ratio) { PRIVATE(this)->device_pixel_ratio = dev_pix_ratio; - emit devicePixelRatioChanged(dev_pix_ratio); + Q_EMIT devicePixelRatioChanged(dev_pix_ratio); return true; } return false; diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Mod/Draft/WorkingPlane.py freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Mod/Draft/WorkingPlane.py --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Mod/Draft/WorkingPlane.py 2023-07-20 07:03:09.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Mod/Draft/WorkingPlane.py 2023-07-21 07:03:24.000000000 +0000 @@ -795,11 +795,11 @@ coin_up = coin.SbVec3f(0, 1, 0) upvec = Vector(rot.multVec(coin_up).getValue()) vdir = view.getViewDirection() - # The angle is between 0 and 180 degrees. - angle = vdir.getAngle(self.axis) - # don't change the plane if the axis is already - # antiparallel to the current view - if abs(math.pi - angle) > Part.Precision.angular(): + # don't change the plane if the axis and v vector + # are already correct: + tol = Part.Precision.angular() + if abs(math.pi - vdir.getAngle(self.axis)) > tol \ + or abs(math.pi - upvec.getAngle(self.v)) > tol: self.alignToPointAndAxis(Vector(0, 0, 0), vdir.negative(), 0, upvec) except Exception: diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Mod/Fem/femmesh/gmshtools.py freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Mod/Fem/femmesh/gmshtools.py --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Mod/Fem/femmesh/gmshtools.py 2023-07-20 07:03:09.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Mod/Fem/femmesh/gmshtools.py 2023-07-21 07:03:24.000000000 +0000 @@ -720,6 +720,7 @@ self.part_obj.Shape.exportBrep(self.temp_file_geometry) def write_geo(self): + temp_dir = os.path.dirname(self.temp_file_geo) geo = open(self.temp_file_geo, "w") geo.write("// geo file for meshing with Gmsh meshing software created by FreeCAD\n") geo.write("\n") @@ -732,7 +733,7 @@ geo.write("// open brep geometry\n") # explicit use double quotes in geo file - geo.write('Merge "{}";\n'.format(self.temp_file_geometry)) + geo.write('Merge "{}";\n'.format(os.path.relpath(self.temp_file_geometry, temp_dir))) geo.write("\n") # groups @@ -879,7 +880,7 @@ geo.write("// Ignore Physical definitions and save all elements;\n") geo.write("Mesh.SaveAll = 1;\n") # explicit use double quotes in geo file - geo.write('Save "{}";\n'.format(self.temp_file_mesh)) + geo.write('Save "{}";\n'.format(os.path.relpath(self.temp_file_mesh, temp_dir))) geo.write("\n\n") # some useful information diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Mod/Fem/femtest/data/elmer/group_mesh.geo freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Mod/Fem/femtest/data/elmer/group_mesh.geo --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Mod/Fem/femtest/data/elmer/group_mesh.geo 2023-07-20 07:03:09.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Mod/Fem/femtest/data/elmer/group_mesh.geo 2023-07-21 07:03:24.000000000 +0000 @@ -4,7 +4,7 @@ General.NumThreads = X; // open brep geometry -Merge "/tmp/tmp0TVZbM.brep"; +Merge "tmp0TVZbM.brep"; // group data Physical Surface("Face1") = {1}; @@ -43,7 +43,7 @@ // save // Ignore Physical definitions and save all elements; Mesh.SaveAll = 1; -Save "/tmp/tmpjVhNNb.unv"; +Save "tmpjVhNNb.unv"; // ********************************************************************** diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Mod/PartDesign/Gui/TaskPipeParameters.cpp freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Mod/PartDesign/Gui/TaskPipeParameters.cpp --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Mod/PartDesign/Gui/TaskPipeParameters.cpp 2023-07-20 07:03:10.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Mod/PartDesign/Gui/TaskPipeParameters.cpp 2023-07-21 07:03:25.000000000 +0000 @@ -24,7 +24,6 @@ #ifndef _PreComp_ # include -# include # include # include #endif @@ -591,7 +590,7 @@ // should be called after panel has become visible QMetaObject::invokeMethod(this, "updateUI", Qt::QueuedConnection, - QGenericReturnArgument(), Q_ARG(int,pipe->Mode.getValue())); + Q_ARG(int,pipe->Mode.getValue())); this->blockSelection(false); } @@ -846,7 +845,7 @@ // should be called after panel has become visible QMetaObject::invokeMethod(this, "updateUI", Qt::QueuedConnection, - QGenericReturnArgument(), Q_ARG(int,pipe->Transformation.getValue())); + Q_ARG(int,pipe->Transformation.getValue())); this->blockSelection(false); } diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Mod/TechDraw/Templates/A3_LandscapeTD.svg freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Mod/TechDraw/Templates/A3_LandscapeTD.svg --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Mod/TechDraw/Templates/A3_LandscapeTD.svg 2023-07-20 07:03:10.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Mod/TechDraw/Templates/A3_LandscapeTD.svg 2023-07-21 07:03:25.000000000 +0000 @@ -234,9 +234,9 @@ - - - + + + diff -Nru freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Mod/TechDraw/Templates/A4_LandscapeTD.svg freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Mod/TechDraw/Templates/A4_LandscapeTD.svg --- freecad-daily-0.20.2~202307200703~ubuntu22.10.1/src/Mod/TechDraw/Templates/A4_LandscapeTD.svg 2023-07-20 07:03:10.000000000 +0000 +++ freecad-daily-0.20.2~202307210703~ubuntu22.10.1/src/Mod/TechDraw/Templates/A4_LandscapeTD.svg 2023-07-21 07:03:25.000000000 +0000 @@ -187,7 +187,7 @@ - +