Просмотр исходного кода

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

ocornut 11 лет назад
Родитель
Сommit
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)