-
Notifications
You must be signed in to change notification settings - Fork 345
Open
Description
As of ImGui v1.91.4 ImTextureID is no longer defined as void* but is instead bound as ImU64.
This causes struct layout problems for 32 bit builds where the layout of the struct is now wrong.
From: https://github.com/ocornut/imgui/blob/947aa9c9722bd6ff740dd757da609ff41f4d3ba3/imgui.h#L261
// ImTexture: user data for renderer backend to identify a texture [Compile-time configurable type]
// - To use something else than an opaque void* pointer: override with e.g. '#define ImTextureID MyTextureType*' in your imconfig.h file.
// - This can be whatever to you want it to be! read the FAQ about ImTextureID for details.
// - You can make this a structure with various constructors if you need. You will have to implement ==/!= operators.
// - (note: before v1.91.4 (2024/10/08) the default type for ImTextureID was void*. Use intermediary intptr_t cast and read FAQ if you have casting warnings)
#ifndef ImTextureID
typedef ImU64 ImTextureID; // Default: store a pointer or an integer fitting in a pointer (most renderer backends are ok with that)
#endifMetadata
Metadata
Assignees
Labels
No labels