Skip to content

Commit 9411cb9

Browse files
authored
Merge branch 'master' into add-missing-matlab-functions
2 parents be8a519 + 6e8f7f3 commit 9411cb9

File tree

15 files changed

+94
-57
lines changed

15 files changed

+94
-57
lines changed

.github/workflows/tests_sources.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,14 @@ jobs:
3434
strategy:
3535
fail-fast: false
3636
matrix:
37-
os: [ubuntu-22.04, macos-14, windows-2019]
37+
os: [ubuntu-22.04, macos-14, windows-2022]
3838
python: [3.9]
3939
include:
4040
- os: ubuntu-22.04
4141
DEPENDENCIES_INSTALLATION: "wget https://github.com/danmar/cppcheck/archive/refs/tags/2.14.2.tar.gz; tar -xf 2.14.2.tar.gz -C ~/; mkdir -p ~/cppcheck-2.14.2/build; cd ~/cppcheck-2.14.2/build; cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ..; cmake --build . --config RelWithDebInfo; export PATH=~/cppcheck-2.14.2/build/bin:$PATH"
4242
- os: macos-14
4343
DEPENDENCIES_INSTALLATION: "brew tap-new --no-git $USER/local-cppcheck; brew extract --version=2.14.2 cppcheck $USER/local-cppcheck; brew install [email protected]; brew tap-new --no-git $USER/local-clang-format; brew extract --version=14.0.0 clang-format $USER/local-clang-format; brew install [email protected]"
44-
- os: windows-2019
44+
- os: windows-2022
4545
DEPENDENCIES_INSTALLATION: "curl -LJO https://github.com/danmar/cppcheck/releases/download/2.14.1/cppcheck-2.14.1-x64-Setup.msi; powershell 'Start-Process msiexec -ArgumentList \"/quiet\",\"/passive\",\"/qn\",\"/i\",\"cppcheck-2.14.1-x64-Setup.msi\" -Wait'; choco uninstall -y llvm; choco install -y llvm --version=14.0.0; export PATH=$PATH:\"/c/Program Files/Cppcheck:/c/Program Files/LLVM/bin\""
4646
runs-on: ${{ matrix.os }}
4747
if: needs.job-skipper.outputs.should_skip != 'true'
@@ -52,7 +52,7 @@ jobs:
5252
echo "job_needed=true" >> "$GITHUB_OUTPUT"
5353
id: os_check
5454
- name: Set git to use LF
55-
if: matrix.os == 'windows-2019'
55+
if: matrix.os == 'windows-2022'
5656
run: |
5757
git config --global core.autocrlf false
5858
git config --global core.eol lf

.github/workflows/tests_sources_with_latest_cppcheck.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,14 @@ jobs:
3030
strategy:
3131
fail-fast: false
3232
matrix:
33-
os: [ubuntu-22.04, macos-14, windows-2019]
33+
os: [ubuntu-22.04, macos-14, windows-2022]
3434
python: [3.9]
3535
include:
3636
- os: ubuntu-22.04
3737
DEPENDENCIES_INSTALLATION: "sudo apt -y install cppcheck"
3838
- os: macos-14
3939
DEPENDENCIES_INSTALLATION: "brew install cppcheck; brew tap-new --no-git $USER/local-clang-format; brew extract --version=14.0.0 clang-format $USER/local-clang-format; brew install [email protected]"
40-
- os: windows-2019
40+
- os: windows-2022
4141
DEPENDENCIES_INSTALLATION: "choco install -y cppcheck || true; choco uninstall -y llvm; choco install -y llvm --version=14.0.0; export PATH=$PATH:\"/c/Program Files/Cppcheck:/c/Program Files/LLVM/bin\""
4242
runs-on: ${{ matrix.os }}
4343
if: needs.job-skipper.outputs.should_skip != 'true'
@@ -48,7 +48,7 @@ jobs:
4848
echo "job_needed=true" >> "$GITHUB_OUTPUT"
4949
id: os_check
5050
- name: Set git to use LF
51-
if: matrix.os == 'windows-2019'
51+
if: matrix.os == 'windows-2022'
5252
run: |
5353
git config --global core.autocrlf false
5454
git config --global core.eol lf

docs/reference/changelog-r2025.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
- Fixed a bug preventing the `webots-controller` executable from running on arm-based mac devices ([#6806](https://github.com/cyberbotics/webots/pull/6806)).
88
- Fixed a bug causing Webots to crash when multiple sounds were used with a [Speaker](speaker.md) node ([#6843](https://github.com/cyberbotics/webots/pull/6843)).
99
- Fixed a bug causing the "Reload/Reset" buttons in the controller recompilation popup to not work on Windows ([#6844](https://github.com/cyberbotics/webots/pull/6844)).
10+
- Fixed a bug causing Webots to occasionally crash when unloading a world ([#6857](https://github.com/cyberbotics/webots/pull/6857)).
1011

1112
## Webots R2025a
1213
Released on January 31st, 2025.

include/controller/c/webots/supervisor.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -224,10 +224,10 @@ void wb_supervisor_simulation_revert() WB_DEPRECATED; // please us
224224
void wb_supervisor_load_world(const char *filename) WB_DEPRECATED; // please use wb_supervisor_world_load() instead
225225
bool wb_supervisor_save_world(const char *filename) WB_DEPRECATED; // please use wb_supervisor_world_save() instead
226226

227-
// deprecated since Webots 8.6.0, plesae use wb_supervisor_field_remove_mf_item() instead
227+
// deprecated since Webots 8.6.0, please use wb_supervisor_field_remove_mf() instead
228228
void wb_supervisor_field_remove_mf_node(WbFieldRef field, int position) WB_DEPRECATED;
229229

230-
// deprecated since Webots 8.0.0, plesae use wb_supervisor_simulation_reset_physics() instead
230+
// deprecated since Webots 8.0.0, please use wb_supervisor_simulation_reset_physics() instead
231231
void wb_supervisor_simulation_physics_reset() WB_DEPRECATED;
232232

233233
// deprecated since Webots 8.4.0 please use wb_supervisor_movie_is_ready and wb_supervisor_movie_failed

src/webots/app/WbSelection.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ void WbSelection::selectNode(WbBaseNode *n, bool handlesDisabled) {
7272

7373
if (mSelectedAbstractPose && poseChanged) {
7474
mSelectedAbstractPose->detachTranslateRotateManipulator();
75-
disconnect(mSelectedAbstractPose->baseNode(), &WbBaseNode::isBeingDestroyed, this, &WbSelection::clear);
75+
disconnect(mSelectedAbstractPose->baseNode(), &WbNode::isBeingDestroyed, this, &WbSelection::clear);
7676
}
7777
}
7878
}
@@ -88,7 +88,7 @@ void WbSelection::selectNode(WbBaseNode *n, bool handlesDisabled) {
8888
updateMatterSelection(true);
8989

9090
if (mSelectedAbstractPose && poseChanged) {
91-
connect(mSelectedNode, &WbBaseNode::isBeingDestroyed, this, &WbSelection::clear, Qt::UniqueConnection);
91+
connect(mSelectedNode, &WbNode::isBeingDestroyed, this, &WbSelection::clear, Qt::UniqueConnection);
9292
if (!handlesDisabled && !mSelectedNode->isUseNode() &&
9393
!WbNodeUtilities::isNodeOrAncestorLocked(mSelectedAbstractPose->baseNode()))
9494
mSelectedAbstractPose->attachTranslateRotateManipulator();

src/webots/gui/WbMainWindow.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2181,7 +2181,7 @@ void WbMainWindow::showHtmlRobotWindow(WbRobot *robot, bool manualTrigger) {
21812181
currentRobotWindow = new WbRobotWindow(robot);
21822182
mRobotWindows << currentRobotWindow;
21832183
connect(mTcpServer, &WbTcpServer::sendRobotWindowClientID, currentRobotWindow, &WbRobotWindow::setClientID);
2184-
connect(robot, &WbBaseNode::isBeingDestroyed, this, [this, robot]() { deleteRobotWindow(robot); });
2184+
connect(robot, &WbNode::isBeingDestroyed, this, [this, robot]() { deleteRobotWindow(robot); });
21852185
connect(robot, &WbMatter::matterNameChanged, this, [this, robot]() { showHtmlRobotWindow(robot, false); });
21862186
connect(robot, &WbRobot::controllerChanged, this, [this, robot]() { showHtmlRobotWindow(robot, false); });
21872187
connect(robot, &WbRobot::externControllerChanged, this, [this, robot]() { showHtmlRobotWindow(robot, false); });

src/webots/gui/WbRenderingDeviceWindowFactory.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ WbRenderingDeviceWindow *WbRenderingDeviceWindowFactory::getWindowForDevice(WbRe
116116
return NULL;
117117

118118
WbRenderingDeviceWindow *window = new WbRenderingDeviceWindow(device);
119-
connect(device, &WbRenderingDevice::isBeingDestroyed, this, &WbRenderingDeviceWindowFactory::deleteWindow);
119+
connect(device, &WbNode::isBeingDestroyed, this, &WbRenderingDeviceWindowFactory::deleteWindow);
120120
mWindowsList.append(window);
121121
return window;
122122
}
@@ -140,7 +140,7 @@ void WbRenderingDeviceWindowFactory::setWindowsEnabled(bool enabled) {
140140
}
141141

142142
void WbRenderingDeviceWindowFactory::deleteWindow() {
143-
WbBaseNode *node = dynamic_cast<WbBaseNode *>(sender());
143+
WbNode *node = dynamic_cast<WbNode *>(sender());
144144
assert(node);
145145
for (int i = 0; i < mWindowsList.size(); ++i) {
146146
if (mWindowsList[i]->deviceId() == node->uniqueId()) {

src/webots/nodes/WbBaseNode.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,6 @@ WbBaseNode::WbBaseNode(const QString &modelName) : WbNode(modelName) {
7272
}
7373

7474
WbBaseNode::~WbBaseNode() {
75-
emit isBeingDestroyed(this);
7675
if (mPostFinalizeCalled && !defName().isEmpty() && !WbWorld::instance()->isCleaning() && !WbTemplateManager::isRegenerating())
7776
WbDictionary::instance()->removeNodeFromDictionary(this);
7877
}

src/webots/nodes/WbBaseNode.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,6 @@ class WbBaseNode : public WbNode {
129129
QString documentationUrl() const;
130130

131131
signals:
132-
void isBeingDestroyed(WbBaseNode *node);
133132
void visibleHandlesChanged(bool resizeHandlesEnabled);
134133
void finalizationCompleted(WbBaseNode *node);
135134

src/webots/nodes/WbRobot.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ void WbRobot::addDevices(WbNode *node) {
284284

285285
WbRenderingDevice *renderingDevice = dynamic_cast<WbRenderingDevice *>(node);
286286
if (renderingDevice) {
287-
connect(renderingDevice, &WbBaseNode::isBeingDestroyed, this, &WbRobot::removeRenderingDevice, Qt::UniqueConnection);
287+
connect(renderingDevice, &WbNode::isBeingDestroyed, this, &WbRobot::removeRenderingDevice, Qt::UniqueConnection);
288288
mRenderingDevices.append(renderingDevice);
289289
WbAbstractCamera *camera = dynamic_cast<WbAbstractCamera *>(renderingDevice);
290290
if (camera) {
@@ -632,7 +632,7 @@ void WbRobot::updateBattery(bool itemInserted) {
632632
}
633633

634634
void WbRobot::removeRenderingDevice() {
635-
mRenderingDevices.removeOne(static_cast<WbRenderingDevice *>(sender()));
635+
mRenderingDevices.removeOne(dynamic_cast<WbRenderingDevice *>(sender()));
636636
}
637637

638638
void WbRobot::assignDeviceTags(bool reset) {

0 commit comments

Comments
 (0)