i just managed to replicate the sorting issue myself with some logging. first of all, my gui code was converting imgui sorts to a list of sort specs that the tool can understand, but every frame, this should be fixed. but also, while logging this, i noticed that it suddenly changed from index=12 that i was sorting by to index=613. gonna try to understand why, but could very well be some bug in imgui
EDIT: triggered it again, now index=1450, then index=0. looks like memory corruption
EDIT: or maybe not a bug in imgui, but a bug with how i interact with imgui via the python wrapper that causes memory corruption. leading theory rn is that the table sort specs object that pyimgui gives me is being invalidated and mvoed to another place, but i keep an older reference. gonna try to get a fresh pointer each time i interact with the sort specs, and also do it inside the recalculate_ids lock
EDIT: been trying to find whats going wrong by exclusion, no luck so far. tried not setting specs_dirty = False in case that was writing in the wrong palce in imgui memory space, tried disabling everything to do with DB writes in case something went wrong in C code, tried disabling image rendering which could be finicky, nothing, still manage to reproduce it after a while
EDIT: yeah, im at a loss here. nothing in my code seems wrong and nothing im trying seems to affect it. ill leave it be for now, maybe try to find a way to force imgui to recalculate the proper sorting when i receive bogus indexes. as for what you mentioned about build 1174 and 1166, i dont see anything of relevant in
You must be registered to see the links
EDIT: only way i can think of to trigger imgui to send the sort specs again is to render a frame with no imgui commands at all, tried this and when it triggers it skips a frame, other imgui context get reset (like popups get closed) but sorts remain corrupted