Переключение на стиль "Fusion" вызывает вылет программы, Qt 5.0.1/MinGW 32bit |
Здравствуйте, гость ( Вход | Регистрация )
Переключение на стиль "Fusion" вызывает вылет программы, Qt 5.0.1/MinGW 32bit |
Majestio |
13.2.2013, 19:46
Сообщение
#1
|
Студент Группа: Участник Сообщений: 67 Регистрация: 13.2.2013 Пользователь №: 3710 Спасибо сказали: 1 раз(а) Репутация: 1 |
Добрейшего времени суток!
Начал постепенно переводить своей проект с Qt4 на Qt5 и наткнулся на непонятные грабли - при переключении на стиль "Fusion" программа завершается с кодом -1073741819. Грешным делом подумал, что где-то в недрах проекта что-то не так. Но вырвал в тестовый проектик один виджет, ответственный за переключение стилей ... и он тоже глючит. При чем изредка работает, но чаще вылетает. Тенденции определить не смог. Есть вероятность, что я что-то делаю не так - ткните носом, плс. Код ответственный за переключение стилей таков:
К сообщению прикрепил тестовый проектик, где все это вылетает. Вобщем, нужна ваша помощь!
Прикрепленные файлы
|
|
|
Алексей1153 |
13.2.2013, 20:00
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
не вылетает, но и ничего не меняется при выборе
запусти на отладку без точек останова и поймай место |
|
|
Majestio |
13.2.2013, 20:07
Сообщение
#3
|
Студент Группа: Участник Сообщений: 67 Регистрация: 13.2.2013 Пользователь №: 3710 Спасибо сказали: 1 раз(а) Репутация: 1 |
не вылетает, но и ничего не меняется при выборе запусти на отладку без точек останова и поймай место Странно, у меня меняется. Win и WinXP меняются нормально. А fusion - изредка срабатывает, но чаще просто вылет. Отладку запускать думаю смысла нет - оператор я выловил, это if (iIdx == 2) QApplication::setStyle(QStyleFactory::create("Fusion")); ... обрамил его qDebug() << "1"; и qDebug() << "2"; А может я все неправильно делаю, если "да", то как правильно? |
|
|
Алексей1153 |
13.2.2013, 20:12
Сообщение
#4
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
я ж говорю - запусти на отладку без точек останова. Там, где вылетит с ошибкой 0xc0000005 , там собака и порылась. Стек вызовов всё расскажет. Иногда, правда, это не спасает всё же
|
|
|
Majestio |
13.2.2013, 20:32
Сообщение
#5
|
Студент Группа: Участник Сообщений: 67 Регистрация: 13.2.2013 Пользователь №: 3710 Спасибо сказали: 1 раз(а) Репутация: 1 |
|
|
|
Majestio |
13.2.2013, 21:05
Сообщение
#6
|
Студент Группа: Участник Сообщений: 67 Регистрация: 13.2.2013 Пользователь №: 3710 Спасибо сказали: 1 раз(а) Репутация: 1 |
Есть подозрение, что тема "Fusion" требует прочие плагины, типа поддержки графических форматов ... и возможно дело в том, что в определенных случаях они программой не находятся. Тогда попутный вопрос: можно ли "уговорить" программу, сообщить что она не смогла загрузить из *.dll , может какой обработчик можно переопределить?
|
|
|
Алексей1153 |
13.2.2013, 22:14
Сообщение
#7
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
так у тебя похоже на рекурсию слота
|
|
|
Majestio |
13.2.2013, 22:43
Сообщение
#8
|
Студент Группа: Участник Сообщений: 67 Регистрация: 13.2.2013 Пользователь №: 3710 Спасибо сказали: 1 раз(а) Репутация: 1 |
Нет рекурсии, вставлял отладочную печать - выдает одиночный вызов.
|
|
|
Авварон |
13.2.2013, 23:07
Сообщение
#9
|
Студент Группа: Участник Сообщений: 99 Регистрация: 26.4.2009 Пользователь №: 709 Спасибо сказали: 14 раз(а) Репутация: 0 |
Оффтоп: у куаппа есть перегруженный метод setStyle от строки - имени стиля. Наврал, проверка есть... Странности... Палец в небо - попробуйте заменить
на
Сообщение отредактировал Авварон - 13.2.2013, 22:48 |
|
|
Majestio |
13.2.2013, 23:10
Сообщение
#10
|
Студент Группа: Участник Сообщений: 67 Регистрация: 13.2.2013 Пользователь №: 3710 Спасибо сказали: 1 раз(а) Репутация: 1 |
Qt::QueuedConnection - не спасает, увы. Все больше кажется, что проблема с загрузкой плагинов.
|
|
|
Текстовая версия | Сейчас: 26.12.2024, 3:38 |