diff --git a/source/ncui/core/session.d b/source/ncui/core/session.d index 26f16ab..93e18c4 100644 --- a/source/ncui/core/session.d +++ b/source/ncui/core/session.d @@ -175,19 +175,21 @@ private: public: this(const SessionConfig config) { + // Если на этапе инициализации сработает проблема с конфигурированием сессии + scope (failure) + { + if (cursesInitialized()) { + endwin(); + gInitialized = false; + } + } + // ncurses не должен быть инициализирован (false) ncuiExpectMsg!cursesInitialized("ncurses is already initialized", false); // Корректное чтение юникода. setlocale(LC_ALL, ""); _root = NCWin(ncuiNotNull!initscr()); - // Если на этапе инициализации сработает проблема с конфигурированием сессии - scope (failure) - { - endwin(); - gInitialized = false; - } - // Установить флаг инициализации ncurses gInitialized = true; // Применение конфигурации