diff --git a/backends/imgui_impl_metal.mm b/backends/imgui_impl_metal.mm index d2eb4651..6b3680cd 100644 --- a/backends/imgui_impl_metal.mm +++ b/backends/imgui_impl_metal.mm @@ -582,8 +582,11 @@ void ImGui_ImplMetal_DestroyDeviceObjects() vertexBufferOffset += (size_t)cmd_list->VtxBuffer.Size * sizeof(ImDrawVert); indexBufferOffset += (size_t)cmd_list->IdxBuffer.Size * sizeof(ImDrawIdx); } - - id weakSelf = self; +#if __has_feature(objc_arc) + __weak id weakSelf = self; +#else + __unsafe_unretained id weakSelf = self; +#endif [commandBuffer addCompletedHandler:^(id) { dispatch_async(dispatch_get_main_queue(), ^{