mirror of
https://github.com/WerWolv/ImHex.git
synced 2026-02-09 05:48:53 -06:00
pattern: Make sure pattern tree doesn't randomly collapse when evaluating
This commit is contained in:
@@ -221,10 +221,13 @@ namespace hex::plugin::builtin::ui {
|
||||
}
|
||||
|
||||
if (open) {
|
||||
int id = 1;
|
||||
pattern.forEachEntry(0, pattern.getEntryCount(), [&] (u64, auto *field) {
|
||||
ImGui::PushID(field);
|
||||
ImGui::PushID(id);
|
||||
this->draw(*field);
|
||||
ImGui::PopID();
|
||||
|
||||
id += 1;
|
||||
});
|
||||
|
||||
if (!pattern.isInlined())
|
||||
@@ -456,10 +459,12 @@ namespace hex::plugin::builtin::ui {
|
||||
}
|
||||
|
||||
if (open) {
|
||||
int id = 1;
|
||||
pattern.forEachEntry(0, pattern.getMembers().size(), [&](u64, auto *member){
|
||||
ImGui::PushID(member);
|
||||
ImGui::PushID(id);
|
||||
this->draw(*member);
|
||||
ImGui::PopID();
|
||||
id += 1;
|
||||
});
|
||||
|
||||
if (!pattern.isInlined())
|
||||
@@ -505,10 +510,13 @@ namespace hex::plugin::builtin::ui {
|
||||
}
|
||||
|
||||
if (open) {
|
||||
int id = 1;
|
||||
pattern.forEachEntry(0, pattern.getEntryCount(), [&](u64, auto *member) {
|
||||
ImGui::PushID(member);
|
||||
ImGui::PushID(id);
|
||||
this->draw(*member);
|
||||
ImGui::PopID();
|
||||
|
||||
id += 1;
|
||||
});
|
||||
|
||||
if (!pattern.isInlined())
|
||||
@@ -638,10 +646,13 @@ namespace hex::plugin::builtin::ui {
|
||||
|
||||
|
||||
if (chunkOpen) {
|
||||
int id = 1;
|
||||
iteratable.forEachEntry(i, endIndex, [&](u64, auto *entry){
|
||||
ImGui::PushID(entry);
|
||||
ImGui::PushID(id);
|
||||
this->draw(*entry);
|
||||
ImGui::PopID();
|
||||
|
||||
id += 1;
|
||||
});
|
||||
|
||||
if (iteratable.getEntryCount() > ChunkSize)
|
||||
@@ -747,10 +758,13 @@ namespace hex::plugin::builtin::ui {
|
||||
if (beginPatternTable(patterns, this->m_sortedPatterns, height)) {
|
||||
ImGui::TableHeadersRow();
|
||||
|
||||
int id = 1;
|
||||
for (auto &pattern : this->m_sortedPatterns) {
|
||||
ImGui::PushID(pattern);
|
||||
ImGui::PushID(id);
|
||||
this->draw(*pattern);
|
||||
ImGui::PopID();
|
||||
|
||||
id += 1;
|
||||
}
|
||||
|
||||
ImGui::EndTable();
|
||||
|
||||
Reference in New Issue
Block a user