Здравствуйте!
Уже в течение некоторого времени наблюдается некорректная работа GoldenDict со словарями, которые представляют являются "веб-сайтами", например, multitran (англ.), или вот сегодня проверил Urban dictionary. Некорректная работа описывается следующим образом:
1. активируем в панели словарей несколько оффлайновых словарей (можно stardict'овых или dict'овых) и хотя бы один веб-словарь (в моём случае, Multitran En или Urban dictionary)
2. набираем поисковое слово, нажимаем <enter>
3. GoldenDict практически моментально отображает результаты поиска в локальных словарях. При этом в панели "Found in Dictionaries" справа фигурируют локальные словари и словарь сетевой, но статья из сетевого словаря в окне переводов отсутствует.
4. Потом (видимо, когда приходят результаты запроса с сетевого словаря), область переводов полностью очищается и на месте предыдущего содержимого там демонстрируется страничка результата запроса сетевого словаря. При этом панель "Found in Dictionaries" очищается полностью, там нет даже сетевого словаря, страничка с которого демонстрируется в окне переводов.
Указанное поведение происходит у меня на Линуксе, на двух машинах с похожей конфигурацией софта (ALT Linux Sisyphus). В данный момент это Qt-4.8.3 с соответствующим webkit'ом. Используется самосборный билд с коммита 1.0.1-334-g4358b43. Однако, хочу подчеркнуть, что описанное поведение имеет место быть уже в течение довольно заметного времени, я точно переезжал с одной версии Qt на другую, собирал предыдущие коммиты goldendict итп.
Я поглядел в дебаггер и могу сказать следующее:
функция updateFoundInDictsList() вызывается трижды при формировании результатов 1-го запроса.
В первый раз список словарей, в которых найдено слово, QStringList ids = view->getArticlesList(), пуст, во второй он содержит корректный результат (вместе с сетевым словарём), а в третий - он опять пуст.
Поскольку список словарей получается (ArticleView::getArticleContents()) путём поиска в текстовом представлении текущего содержимого главного фрейма, то я предполагаю, что получение странички результатов из сетевого словаря каким-либо образом перетирает это содержимое, причём, вероятно, целиком, вместе со служебными JS-функциями (gdArticleContents итп)
Собственно, теперь вопросы. Является ли описанное поведение специфичным только для меня и моих сборок? Какие ещё нужны от меня сведения касательно софта и/или его поведения?
С уважением,
Алексей Морозов