| Предыдущий | Следующий |
| D2DERR_LAYER_ALREADY_IN_USE | D2DERR_WRONG_RESOURCE_DOMAIN |
D2DERR_POP_CALL_DID_NOT_MATCH_PUSH
Что означает D2DERR_POP_CALL_DID_NOT_MATCH_PUSH
D2DERR_POP_CALL_DID_NOT_MATCH_PUSH (0x88990014) означает, что приложение вызвало pop другого типа, чем последний активный push: например, попыталось снять layer, когда сверху стека находится clip.
Что проверить
- Трассируйте каждый
PushLayer/PushAxisAlignedClipи соответствующий pop с типом операции и глубиной стека. - Проверьте early return, exception cleanup и условные ветви, где один push может пропускать свой парный pop.
- Исправляйте LIFO-порядок; добавление произвольного extra-pop в конце кадра может только сместить ошибку.
Как подтвердить исправление
На всех control-flow paths stack layer/clip должен возвращаться к исходной глубине, а каждый pop — совпадать с последним push того же типа.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.