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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTableView + QFileSystemModel зависание  (Прочитано 2570 раз)
AlphaGh0St
Гость
« : Апрель 21, 2016, 19:38 »

Всем привет!
Обнаружил странный баг (а баг ли это).
Работаю в Windows 10, Qt Creator (Community) 3.5.1,  Qt 5.5.1 (MSVC 2013, 32 бита), Собрано Oct 13 2015 в 07:38:22.

На форме QTableView и QPushButton. В конструкторе виджета следующий код:
Настраиваем модель и таблицу, ничего особенного.
Код:
    model = new QFileSystemModel(this);
    model->setFilter(QDir::AllEntries | QDir::NoDot | QDir::Hidden);
    ui->tableView->setModel(model);

    ui->tableView->setRootIndex(model->setRootPath("C:\\"));
    ui->tableView->scrollToTop();

    connect(ui->pushButton, SIGNAL(clicked(bool)), this, SLOT(onCliked()));

Дальше самое интересное. По нажатию кнопки, выполняется переход на рабочий стол:
Код:
    ui->tableView->setRootIndex(model->setRootPath("C:\\Users\\user\\Desktop"));
    ui->tableView->scrollToTop();

Код в слоте успешно отрабатывает, из слота выходим и программа зависает.
Приостановив выполнение в отладчике, видно следующий call stack:
Цитировать
0   ntdll!DbgBreakPoint         0x776a8d21   
1   ntdll!DbgUiRemoteBreakin         0x776d9d59   
2   ??         0xabae3b83   
3   ntdll!DbgUiIssueRemoteBreakin         0x776d9d20   
4   KERNEL32!BaseThreadInitThunk         0x744e38f4   
5   ntdll!RtlUnicodeStringToInteger         0x77695de3   
6   ??            

И асм инструкции:
Код:
0x776a8d20                      cc                    int3
=> 0x776a8d21  <+0x0001>        c3                    ret

Скриншот прилагаю:


Гугл в решении проблемы, оказался бесполезен.
Кто-нибудь сталкивался с подобным? Что посоветуете?
Благодарю.
Записан
AlphaGh0St
Гость
« Ответ #1 : Апрель 21, 2016, 23:13 »

Выявил проблему методом исключения Веселый Смеющийся
Дело в том, что у меня на рабочем столе находится ярлык на шару другой системы (из виртуал бокса).
Система выключена и если попытаться открыть ярлык, explorer виснет. Да explorer виснет даже если по ярылку кликнуть правой кнопкой мыши  Смеющийся Смеющийся

Такие дела.
Чей это баг: Qt или MS - это уже другой вопрос. Кому жаловаться то  Смеющийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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