Summary: | Ошибки клиента KIO при переходе к некоторым точкам входа | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Ivan Alekseev <qwetwe> | ||||||
Component: | kde5-plasma-applet-places-widget | Assignee: | Олег Соловьев <mcpain> | ||||||
Status: | RESOLVED LATER | QA Contact: | qa-sisyphus | ||||||
Severity: | normal | ||||||||
Priority: | P3 | CC: | invariabilis, mcpain, sotor, zerg | ||||||
Version: | unstable | ||||||||
Hardware: | all | ||||||||
OS: | Linux | ||||||||
Attachments: |
|
При использовании виджета: kde5-plasma-applet-places-widget.git=1.3-alt4 При переходе к точке входа "Жесткий диск" воспроизводится ошибка "Клиента KIO": "Ошибка выполнения указанной команды. Файл или папка не существует." Вышеуказанные Иваном ошибки более не воспроизводятся. Какая-то страннота: в qml вызывается Qt.openUrlExternally() с "file:///" (три слэша) однако в QQuickGuiProvider::openUrlExternally(QUrl) вызывается уже с аргументом "file://" (два слэша). Куда теряется слэш - я не знаю, но из-за того, что в ходе обработки в kio отгрызается начальный "file://", в результате получается пустая строка и невозможность открыть указанный путь. Проблема где-то в QQmlContextData::resolvedUrl(QUrl) в QtObject::method_resolvedUrl url == ("file:///") ctxt->resolvedUrl(url) == QUrl("file://") (Ответ для Олег Соловьев на комментарий #3) Нашёл проблему: QUrl url = QUrl::fromLocalFile("//"); qDebug() << url << url.toLocalFile(); // QUrl("file://") "" Если в QFileSelector::select(const QString&) передать QUrl("file:///"), то в QFileSelectorPrivate::select после проверки на пустую строку к пути добавляется ещё один слэш, а два слэша в начале пути интерпретируются как удаленный путь и отрезаются. https://bugreports.qt.io/browse/QTBUG-88599 Created attachment 9043 [details]
патч на qt5-base
qt5-base-5.15.1-alt3 -> sisyphus: Thu Nov 19 2020 Sergey V Turchin <zerg@altlinux> 5.15.1-alt3 - add fix against QTBUG-88599 (closes: 37756) В p9 планируется, но после выхода Workstation K 9.1 |
Created attachment 8512 [details] Ошибки клиента KIO Система: ALT Education 9 KDE i586/x86_64 Номер сборки: kde5-plasma-applet-places-widget-(none):1.3-p9+243612.100.1.1 и kde5-plasma-applet-places-widget-(none):1.3-p9+232648.100.1.1 Переход к точкам входа "Документы", "Изображения", "Аудиофайлы", "Видеофайлы" не выполняется, воспроизводится ошибка "Клиента KIO", например: "Не удалось найти ни одного приложения или службы обработки для «search:/documents»." При переходе к точке входа "Жесткий диск" воспроизводится другая ошибка "Клиента KIO": "Ошибка выполнения указанной команды. Файл или папка не существует."