| Предыдущий | Следующий |
| D2DERR_WRONG_RESOURCE_DOMAIN | D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT |
D2DERR_PUSH_POP_UNBALANCED
Как диагностировать D2DERR_PUSH_POP_UNBALANCED
D2DERR_PUSH_POP_UNBALANCED — В последовательности команд Direct2D нарушен баланс операций сохранения и восстановления состояния: одному Push не соответствует Pop либо наоборот.
Этот HRESULT возвращён Direct2D.
В регрессионном тесте depth счётчик layer/clip должен возвращаться к исходному значению на каждом пути до EndDraw, включая ветви с ошибкой.
Ссылки по этому результату
Практическая граница ошибки
К моменту завершения draw sequence стек layer/clip оказался несбалансированным. Инструментируйте каждый PushLayer/PushAxisAlignedClip и соответствующий Pop с depth counter. Ошибка может проявиться только на одной ветке rendering, поэтому проверяйте все early-exit paths перед EndDraw.
Нужно найти другой код? Найти другой код состояния или ошибки.