Russian Qt Forum
Ноябрь 23, 2024, 08:07 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: SIGSEGV при очистке QListWidget  (Прочитано 4431 раз)
mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« : Январь 30, 2017, 11:02 »

на форме 2 QListWidget'а. При очистке одного должен очищаться второй (содержимое этого второго зависит от содержимого первого). Делаю, вроде, элементарно
Код:
ui->lWOldProd->clear();
ui->lWNewProd->clear();
1-й очищается без проблем, на втором крашится программа. Пробовал проверять на непустоту
Код:
if(ui->lWOldProd->count())
    ui->lWOldProd->clear();
if(ui->lWNewProd->count())
     ui->lWNewProd->clear();
-никакой разницы. В чем может быть дело?
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Январь 30, 2017, 11:05 »

Попробуйте сделать минимальный пример с проблемой и приложить его
Записан

mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« Ответ #2 : Январь 30, 2017, 11:39 »

хм! Минимальный пример работает. Наверное, где-то я что-то не так сделал в основной программе. Ушел искать
нашел. Может кому понадобится. У меня у lWNewProd был сигнал currentRowChanged(int) (писал уже, что оба виджета связаны), а после очистки currentRow отсутствует, вот он и выдавал Segmentation fault
Извините за дурную тему
« Последнее редактирование: Январь 30, 2017, 13:16 от mokynis » Записан

QT4, Qt5, Qt6 Debian, ArchLinux
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #3 : Январь 30, 2017, 13:30 »

Да ладно, если кто-то придет с такой проблемой, то проверит у себя на такую багу, то полезно будет Улыбающийся
Записан

__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #4 : Январь 30, 2017, 13:36 »

После очистки currentRow = -1.
Записан
AlFoX
Гость
« Ответ #5 : Январь 30, 2017, 23:25 »

а в дебаггере изначально посмотреть точку краша, не?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.094 секунд. Запросов: 22.