浏览代码

Fixed unaligned memory access - fix font loading when building on Emscripten

ocornut 11 年之前
父节点
当前提交
447cc88e04
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      imgui.cpp

+ 2 - 1
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)