| 
 | |||||||
| Исправление Gvenview если есть segfault при изменении размеров картинки 
		  Время создания: 10.01.2020 13:50		  
		  Автор: xintrea		  
		  Текстовые метки: linux, gwenview, segfault, сегфолт, исправление		  
		    Раздел: Компьютер - Linux - Разные программы в Linux		   
		  Запись: xintrea/mytetra_syncro/master/base/1578653428hbi0cvssqz/text.html на raw.githubusercontent.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() ); } } | |||||||
| 
 Так же в этом разделе:
  
 | |||||||
|   | |||||||
| 
 | |||||||
| 
 |