Merge branch 'dev' into dev-0.12

This commit is contained in:
David Reid
2026-07-13 08:40:15 +10:00
2 changed files with 20 additions and 14 deletions
+1
View File
@@ -4,6 +4,7 @@ v0.11.26 - TBD
* Fixed a crash when passing in null for the read or seek callbacks for a decoder.
* Fixed an error with node initialization.
* Fixed build for Arm64EC on MSVC.
* Resource Manager: Fixed a possible crash when loading fails.
* PulseAudio: Improvements to format negotiation to better handle cases when PulseAudio reports s24_32 as its native format.
* Emscripten: Fixed an error with ALLOW_MEMORY_GROWTH.
* Emscripten: Fixed some issues relating to handling of 64-bit pointers.
+19 -14
View File
@@ -80409,21 +80409,26 @@ static ma_result ma_resource_manager_data_buffer_node_acquire(ma_resource_manage
}
done:
/* If we failed to initialize the data buffer we need to free it. */
if (result != MA_SUCCESS) {
if (nodeAlreadyExists == MA_FALSE) {
ma_resource_manager_data_buffer_node_remove(pResourceManager, pDataBufferNode);
ma_free(pDataBufferNode, &pResourceManager->config.allocationCallbacks);
}
}
{
ma_bool32 isDataOwnedByResourceManager = pDataBufferNode->isDataOwnedByResourceManager;
/*
The init notification needs to be uninitialized. This will be used if the node does not already
exist, and we've specified ASYNC | WAIT_INIT.
*/
if (nodeAlreadyExists == MA_FALSE && pDataBufferNode->isDataOwnedByResourceManager && (flags & MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_ASYNC) != 0) {
if ((flags & MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_WAIT_INIT) != 0) {
ma_resource_manager_inline_notification_uninit(&initNotification);
/* If we failed to initialize the data buffer we need to free it. */
if (result != MA_SUCCESS) {
if (nodeAlreadyExists == MA_FALSE) {
ma_resource_manager_data_buffer_node_remove(pResourceManager, pDataBufferNode);
ma_free(pDataBufferNode, &pResourceManager->config.allocationCallbacks);
pDataBufferNode = NULL;
}
}
/*
The init notification needs to be uninitialized. This will be used if the node does not already
exist, and we've specified ASYNC | WAIT_INIT.
*/
if (nodeAlreadyExists == MA_FALSE && isDataOwnedByResourceManager && (flags & MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_ASYNC) != 0) {
if ((flags & MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_WAIT_INIT) != 0) {
ma_resource_manager_inline_notification_uninit(&initNotification);
}
}
}