-
-
Notifications
You must be signed in to change notification settings - Fork 10.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issue using IDs to prevent conflicts in popup windows #6939
Comments
Please clarify what "somehow impacted" means, please provide videos/code and more details. |
Please also amend your issue with a copy of the template appearing when you attempt to a create a new issue. |
Is there a way I can send you a private video of the issue? |
Version 1.63 is rather old, lots of cumulative interface changes will make that hard to support. You should consider upgrading if possible. Besides that, actual code might still help to pinpoint the issue, even in Lua form (provided that the binding itself doesn't have bugs). As for "forgetting" windows: you can keep them out of your saved settings if you specify |
Yep, I understand it is an old version, but I don't control that choice, so it is what I am stuck with for now. I just want to make sure I understand, at least from a usage standpoint, if I am understanding correctly how to use the ID system. If this is in fact a bug, then I would not expect it to be fixed.
As far as forgetting about the window, I am more interested in finding out if there is a way to tell IMGui at runtime that a previously rendered window will no longer be needed - something like Destroy(id). I just noticed when I used the Show Metrics tool that information is retained about windows I will never render again.
On 10/18/2023 1:17:13 PM, Daniel Cremers ***@***.***> wrote:
Version 1.63 is rather old, lots of cumulative interface changes will make that hard to support. You should consider upgrading if possible. Besides that, actual code might still help to pinpoint the issue, even in Lua form (provided that the binding itself doesn't have bugs).
As for "forgetting" windows: you can keep them out of your saved settings if you specify ImGuiWindowFlags_NoSavedSettings.
—
Reply to this email directly, view it on GitHub [#6939 (comment)], or unsubscribe [https://github.com/notifications/unsubscribe-auth/ACCGWJCAB3DJKJW4NYKJV6DYAAFJTAVCNFSM6AAAAAA6FZOL46VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONRYHE4TKNZXGI].
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
I am sorry I cannot be providing technical support for 1.63, it's a 5+ years old version. If you provide media we might be able to help you pinpoint the issue, but I cannot accept private video for unpaying users. |
To clarify:
|
Thanks for the clarification. Unfortunately, I don't control that situation, so I'll just have to figure this out myself. But one thing you could clarify for me that might not be version specific - how do you I tell IMGUI that a particular window will no longer be needed? I saw via the Show Metrics windows that IMGUI is keeping information about transient popup windows that will never be displayed again, and this defunct information could get quite voluminous over time. Is this something I need to be concerned about? Thanks.
On 10/19/2023 4:50:57 AM, omar ***@***.***> wrote:
To clarify:
* you could perfectly build a minimum repro. that alone often helps you solve your issue.
* then you test the repro on both 1.63 and on latest.
* if the issue still happens on latest, we can have a discussion.
* if the issue happens in 1.63 but not on latest, it's a behavior we improved/fixed.
—
Reply to this email directly, view it on GitHub [#6939 (comment)], or unsubscribe [https://github.com/notifications/unsubscribe-auth/ACCGWJDJ2ZWJQQLHXGQPNZDYADSXDAVCNFSM6AAAAAA6FZOL46VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZQGM2TKMBZGI].
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
I don't understand how my suggestion wouldn't apply to you or anyone.
No you shouldn't be concerned about this. |
Also #74, #96, #480, #501, #647, #654, #719, #843, #894, #1057, #1173, #1390, #1414, #1556, #1768, #2041, #2116, #2330, #2475, #2562, #2667, #2807, #2885, #3102, #3375, #3526, #3964, #4008, #4070, #4158, #4172, #4199, #4375, #4395, #4471, #4548, #4612, #4631, #4657, #4796, #5210, #5303, #5360, #5393, #5533, #5692, #5707, #5729, #5773, #5787, #5884, #6046, #6093, #6186, #6223, #6364, #6387, #6567, #6692, #6724, #6939, #6984, #7246, #7270, #7375, #7421, #7434, #7472, #7581, #7724, #7926, #7937 and probably more.. Tagging to increase visibility!
Version/Branch of Dear ImGui:
Version: 1.63
Back-end/Renderer/Compiler/OS
Back-ends: unknown
Operating System: Windows 11
My Issue/Question:
I have a use case where I want to pop up a persistent window with additional information by clicking on a table entry that is represented by a Selectable widget. So, if the user clicks on several different table entries, the popups remain displayed until explicitly closed. I create the popup roughly like so (my IMGui Api is a LUA binding, so I am showing a psuedocodeish version of what I am doing):
Begin("Additional Information##",true,WindowFlags_AlwaysAutoResize)
End()
What I am experiencing is that when I render subsequent popups, the existing popup presentations are impacted, i.e., it appears the popups are somehow using a shared rendering context. I read everything I could find about the ID system, and based on that, I don't understand why the unique id (across all the popup windows) that I use in the Begin does not appear to be preventing conflicts between the popups - I would expect each window to be rooted with a unique ID so that all subsequent widget ID paths are also unique.
Also, by using the Show Metrics Window, I noticed that the popup window IDs do in fact appear to be unique. But when I render new widgets, they appear to also be impacted by these defunct windows, as they briefly show other information but then quickly snap back to what was just rendered. A side question is - how do you tell IMGUI to "forget" a window, so all those windows that will never be rendered again don't clutter up the id/Window space.
Thanks!
The text was updated successfully, but these errors were encountered: