Сабжевая программа не отличается особой стабильностью при использовании фильтров эффектов и контурных фильтров, но вчера впервые поимел с этим реальный головняк.
После сегфолта все попытки открыть сохранённый прежде файл (бог уж с ними, с несохранёнными изменениями) приводили только к новым сегфолтам.
Перспектива потерять двухчасовой труд настолько расстроила, что решил, что утро вечера мудренее.
За ночь сообразил открыть SVG в текстовом файле и ручками почекрыжить фильтры эффектов, на которые грешил.
Почекрыжил, не помогло.
Нашёл и удалил ноды path, к которым применялись эффекты. После этого рисунок открылся. Потеряна пара контуров, но это мелочи жизни.
Думаю, контуры не виноваты. Всё-таки грешу на фильтры эффектов:
1) к контурам применял эффект деформации по обтекающей, который в общем работал, но как-то нелогично, и только нелогичными же способами удалось получить желаемую деформацию;
2) сегфолтнуло при применении фильтра Фаска - Сверкающий металл с последующей правкой параметров фильтра.
В общем, всевозможные фильтры по-прежнему зыбкая почва. Одно радует: случись это с какой-нибудь корелдрой, запорченный файл было бы уже не спасти. Всё-таки открытый (и читабельный!) формат — огромное благо.
Update. Сегодня продолжил работу с файлом и повторил ситуацию в точности. Сегфолт произошёл при попытке скопировать контур с эффектом деформации по обтекающей. Судя по всему, автоматически сохраняя рисунок перед падением, Инкскейп записывает его в состоянии, вызывающем при последующем открытии немедленный сегфолт. Очень удобная фича, чтобы надёжно убить работу :-) Надо порыть настройки, вдруг на это можно как-то повлиять.
Update2.
Program received signal SIGSEGV, Segmentation fault.
0x082d1443 in Inkscape::LivePathEffect::LPEEnvelope::doEffect_pwd2 (
this=0xb255c28, pwd2_in=...) at live_effects/lpe-envelope.cpp:122
122 live_effects/lpe-envelope.cpp: Нет такого файла или каталога.
in live_effects/lpe-envelope.cpp
Всё-таки это операции над контурами.
Update 3.
На этот раз удалось открыть файл в том виде, как он был сохранён (или автосохранён?). Перед этим в текстовом редакторе выбросил из файла SVG все ноды inkscape:path-effect и inkscape:perspective. Как ни странно, трансформации при этом сохранились. Заодно нашёл в домашнем каталоге файл аварийного автосохранения (естественно, вызывающий сегфолт). Получается, при сегфолте Инкскейп испортил рабочий файл, что в уме не укладывается.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий