Дальнейшее развитие версии 1.5, переделано под API Far 3.0.
Декодер JLS.pvd использует библиотеку CharLS.
Copyright (c) 2007-2010, Jan de Vaan
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of my employer, nor the names of its contributors may be
used to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PS: API как было убогим в Far 2, так и осталось...
PictureView 3 — просмотр изображений различных форматов
Posted: Sat 07 Sep, 2019 23:06
by SEt
Latest post of the previous page:
Да, есть такое, в PV вызывался CoUninitialize при не успешном CoInitializeEx. В следующей версии будет исправлено.
Но в данном случае – это была очень полезная ошибка, так как иначе вот это прошло бы тихо:
drkns 02.09.2019 21:09:11 +0100 - build 5463
1. Инициализируем COM как multithreaded, вроде бы так правильнее в нашем случае.
Какая прекрасная идея: "вроде бы так правильнее"! А что должны сделать плагины? Как им понять, что теперь COM работает по-другому?
EDIT:
Ну и MSDN говорит, что
Because OLE technologies are not thread-safe, the OleInitialize function calls CoInitializeEx with the COINIT_APARTMENTTHREADED flag. As a result, an apartment that is initialized for multithreaded object concurrency cannot use the features enabled by OleInitialize.
Applications that use the following functionality must call OleInitialize before calling any other function in the COM library:
Clipboard
Drag and Drop
Object linking and embedding (OLE)
Так что в плагинах ещё что-то может принципиально отвалиться, если они теперь обязаны жить в COINIT_MULTITHREADED.
PictureView 3 — просмотр изображений различных форматов
Posted: Sun 08 Sep, 2019 02:40
by DrKnS
SEt wrote: ↑Sat 07 Sep, 2019 23:06А что должны сделать плагины?
Плагины не должны строить предположения и зависеть от состояния по умолчанию.
Вы не можете предполагать, что COM инициализиован.
Вы не можете предполагать, что COM не инициализиован.
Вы не можете предполагать, что COM инициализирован как multithreaded.
Вы не можете предполагать, что COM инициализирован как не multithreaded.
Почему?
Потому что плагинов - легион.
Представьте, что фар вообще не трогает COM (раньше так и было).
Любой другой плагин может быть вызван до вас и сделать по-другому.
Любой shell extension, загруженный EMenu до вас, может сделать по-другому.
Это не сейчас изменилось, это всегда так было.
Как им понять, что теперь COM работает по-другому?
Пример "как понять" - в предыдущем сообщении.
Если режим вам безразличен - отлично.
Если принипиально надо апартмент - всегда можно создать новый тред и инициализировать его там.
PictureView 3 — просмотр изображений различных форматов
Posted: Sun 08 Sep, 2019 03:36
by SEt
DrKnS wrote: ↑Sun 08 Sep, 2019 02:40
Это не сейчас изменилось, это всегда так было.
Не было этого всегда. Вот специально проверил на довольно старой версии Far3 без плагинов: COM инициализирован в COINIT_APARTMENTTHREADED, то есть кто-то там случайно изменить это не мог.
DrKnS wrote: ↑Sun 08 Sep, 2019 02:40
Если режим вам безразличен - отлично.
Мне то без разницы – легко перекомпилировать.
А вот зачем потребовалось изменять это в Far'е и потенциально ломать плагины – не ясно. Не всё можно пересобрать.
PictureView 3 — просмотр изображений различных форматов
Posted: Tue 10 Sep, 2019 11:26
by 2useven10
SEt wrote: ↑Sun 08 Sep, 2019 03:36
Мне то без разницы – легко перекомпилировать.
Когда ожидается обновлениие?
PictureView 3 — просмотр изображений различных форматов
Posted: Tue 10 Sep, 2019 15:13
by SEt
Новая версия:
Полная поддержка увеличения изображений методом ближайшего соседа.
Новый декодер на основе libtiff.
Обновлены многие декодеры.
PictureView 3 — просмотр изображений различных форматов
Posted: Tue 10 Sep, 2019 22:57
by pukan1
Microsoft Windows [Version 6.1.7601]
GeForce GT 630
Far Manager v3.0.0.5454
PictureView v3.2019.9.10
Вместо любых JPG картинок показывает серый прямоугольник.
PNG, GIF, WDP работают нормально.
Замена JpegRec.pvd на предшествовавшую версию проблему решило.
Прошу разобраться в чем может быть причина такого поведения JpegRec.pvd в новой версии.
PictureView 3 — просмотр изображений различных форматов
У меня на Nvidia GeForce GT 640 всё нормально. Windows 8.1 x64, Far 3.0.0.5470 x86, PictureView v3.2019.9.10.
Проверьте на сайте Nvidia, свежие ли у вас драйверы.
PictureView 3 — просмотр изображений различных форматов
Posted: Tue 10 Sep, 2019 23:28
by pukan1
HaRT wrote: ↑Tue 10 Sep, 2019 23:18
Проверьте на сайте Nvidia, свежие ли у вас драйверы.
PictureView 3 — просмотр изображений различных форматов
Posted: Wed 11 Sep, 2019 16:51
by SEt
Это не драйвера.
Единственное крупное изменение с JpegRec – эта версия собрана Clang, а предыдущие ICC.
Вот, попробуйте пересобранную в ICC (хоть и другой версии) x86:
JpegRec.pvd.7z
PictureView 3 — просмотр изображений различных форматов
Posted: Wed 11 Sep, 2019 17:26
by Pasha_ZZZ
х86 не катит, фар не той системы
PictureView 3 — просмотр изображений различных форматов
Posted: Wed 11 Sep, 2019 17:42
by SEt
Так и знал, что кто-то захочет x64... Вот, смотрите: