From 447cc88e0498cf08bd8b7ce2afcc8c67f8434a70 Mon Sep 17 00:00:00 2001 From: ocornut Date: Sat, 15 Nov 2014 11:41:03 +0000 Subject: [PATCH] Fixed unaligned memory access - fix font loading when building on Emscripten --- imgui.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/imgui.cpp b/imgui.cpp index 5ca7cda84..7c3bae209 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -5610,7 +5610,8 @@ bool ImBitmapFont::LoadFromMemory(const void* data, size_t data_size) { const unsigned char block_type = *(unsigned char*)p; p += sizeof(unsigned char); - const ImU32 block_size = *(ImU32*)p; + ImU32 block_size; // use memcpy to read 4-byte because they may be unaligned. This seems to break when compiling for Emscripten. + memcpy(&block_size, p, sizeof(ImU32)); p += sizeof(ImU32); switch (block_type)