crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Предотвратить ошибки qt
RazrFalcon
  опции профиля:
сообщение 27.11.2011, 14:34
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Имеем баг:
При открытии некоторых svg через QPixmap прога разбухает и сьедает всю ОЗУ. Система просто зависает безвозвратно.

Для воспроизведения бага достаточно:
QPixmap pix("my.svg");

Как можно предотвратить зависание?

PS: иконка http://dl.dropbox.com/u/16019144/flags-australia-3x2.svg

Сообщение отредактировал RazrFalcon - 27.11.2011, 14:39
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 27.11.2011, 15:48
Сообщение #2


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


А ты видел исходники своей svg? Вот кусочек:
<use
     transform="matrix(84.375,0,0,112.5,18309.375,5256.5625)"
     id="Star_Delta_Crucis"
     style="fill:#ffffff"
     xlink:href="#Star7"
     x="0"
     y="0"
     width="30240"
     height="15120" />
Ужас.
Тебе нужно избавиться от всех transform. Для этого нужно сделать размеры элементов адекватными (width, height) и в ручную с позиционировать элеметы (x, у)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 27.11.2011, 16:32
Сообщение #3


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Ну так вектор то не мой. Это я из готового пака иконок взял.
Мне нужно предотвратить зависания вне зависимости от того какой svg.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 27.11.2011, 16:57
Сообщение #4


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(RazrFalcon @ 27.11.2011, 17:32) *
Ну так вектор то не мой. Это я из готового пака иконок взял.
Мне нужно предотвратить зависания вне зависимости от того какой svg.

Попробуй использовать QSvgRenderer и уже им рендерить куда надо, на тот же pixmap.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.11.2024, 8:15