Серьёзная ошибка в Qt 4.6.3 |
Здравствуйте, гость ( Вход | Регистрация )
Серьёзная ошибка в Qt 4.6.3 |
Litkevich Yuriy |
6.7.2010, 15:39
Сообщение
#1
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Цитата Ошибка приводит к утечке контекста устройства рисования, а после 9999 перерисовок, программа прекращает обновление своих виджетов. Ошибка будет исправлена в наших хранилищах и больше не появятся в наших следующих выпусках. полный текст
|
|
|
CrackedMind |
7.7.2010, 1:54
Сообщение
#2
|
Студент Группа: Участник Сообщений: 44 Регистрация: 13.3.2009 Пользователь №: 611 Спасибо сказали: 7 раз(а) Репутация: 0 |
Странный они патч там приложили... Сколько медитировал так и не понял, чем он может помочь =)
|
|
|
SABROG |
7.7.2010, 8:39
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Сколько медитировал так и не понял, чем он может помочь =) Флаг окна CS_OWNDC говорит о том, что для каждого окна данного класса создается уникальный Device Context. Пишут, что флаг нужен для приложений с интенсивной отрисовкой. Если я правильно понял, то при вызове updateGL идет вызов QGLContext::makeCurrent(), который вызывает GetDC, который в свою очередь увеличивает счетчик (типа ref()) для данного Device Context, но никогда его не уменьшает с помощью ReleaseDC. Флаг CS_OWNDC позволяет вообще не вести учет этих счетчиков, так как у каждого экземпляра окна свой личный hDC. А баг также есть и в 4.7.0, значит и в 4.7.0beta1 он тоже есть. С другой стороны у меня нет своих приложений где бы использовался OpenGL, к тому же баг чисто виндовый. |
|
|
Текстовая версия | Сейчас: 20.12.2024, 18:54 |