|
|||||||
Исправление Gvenview если есть segfault при изменении размеров картинки
Время создания: 10.01.2020 13:50
Автор: xintrea
Текстовые метки: linux, gwenview, segfault, сегфолт, исправление
Раздел: Компьютер - Linux - Разные программы в Linux
Запись: xintrea/mytetra_syncro/master/base/1578653428hbi0cvssqz/text.html на raw.github.com
|
|||||||
|
|||||||
Просмотрщик Gvenview все никак не могут довести до ума, а другого вмеяемого и удобного просмотрщика под Linux в настоящий момент не наблюдается. Часто на некоторых картинках Gvenview вылетает с ошибкой сегментирования. Отладка показала, что проблема в файле /lib/documentview/rasterimageview.cpp, в методе updateFromScaler(). Временное решение - полностью закомментировать проблемный вызов: cmsDoTransform(d->mDisplayTransform, bytes, bytes, static_cast<cmsUInt32Number>(size) ); Непонятно, что он обновляет на экране, но без него работает, и сегфолта нет. Пример исправленного кода: void RasterImageView::updateFromScaler(int zoomedImageLeft, int zoomedImageTop, const QImage& image) { if (d->mApplyDisplayTransform) { if (!d->mDisplayTransform) { d->updateDisplayTransform(image.format()); } if (d->mDisplayTransform) { quint8 *bytes = const_cast<quint8*>(image.bits()); // cmsDoTransform(d->mDisplayTransform, bytes, bytes, image.width() * image.height() ); } } |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|