Open Yves-911 opened 7 months ago
I'd be willing to add some recovery for that data, but only if I had a repro that created this invalid data in the first place. It's possible that your code manipulating node data is incorrect.
Thanks for your reply ! I don't have the time right now to dive into the root cause which is almost for sure on our side. Whenever I stumble on a 100% repro code, I'll update the thread. I'll keep my local fix for now to unblock our users.
Version/Branch of Dear ImGui:
Version 1.89.9, Branch: docking
Back-ends:
custom win32
Compiler, OS:
MSVC2022 + Clang 17.6
Full config/build information:
No response
Details:
Loading an invalid ini file
We stumbled accross an ini file with some docking information like (note the 0 on y for the dock node)
Which obviously trigs this assert
IM_ASSERT(ancestor_node->Size.x > 0.0f && ancestor_node->Size.y > 0.0f);
instatic ImGuiDockNode* ImGui::DockContextBindNodeToWindow(ImGuiContext* ctx, ImGuiWindow* window)
when trying to open a window that was docked into that node.As this is really annoying for our users, I fixed it by setting the 0-sized value with the corresponding size of the window trying to instantiate that dock node. Works well so far. I know that this is mainly due because we are manipulating the nodes in maybe a way that is not recommended with multiple hosted viewports in a Win32 app but my question is more : Is there a proper way to deal with malformed ini files ? Or there will still be Asserts, making the ini file unusable ?
Thanks ! Yves.
Screenshots/Video:
No response
Minimal, Complete and Verifiable Example code: