Я ещё тот хацкер, НО зачем проверять какой диалог открыт в функции ImGui? Есть же функция для диалогов, проверяешь, если открыт то переменной true, если закрыт false. А в ImGui проверяешь эту переменную.
(Писал с мобилы, буду с ПК - прочекаю)
UPD
Взял твой первоначальный скрипт. Сам не тестил...