Подробности

[В начало]

Проблема в реализации № S0659

Краткое описание

Сигнал "area-updated" для GdkPixbufLoader генерируется с неверными параметрами

Подробное описание

Описание условия генерирования сигнала:
This signal is emitted when a significant area of the image being loaded has been updated.

Более того, в разделе Description написано:
The last signal, "area_updated" gets called every time a region is updated.

Описание параметров:
x : X offset of upper-left corner of the updated area.
y : Y offset of upper-left corner of the updated area.
width : Width of updated area.
height : Height of updated area.

Однако изображение может изменяться и вне области, заданной параметрами x, y, width и height.

Данная проблема наблюдается при загрузке изображений типа "ico". Скорее всего, при генерировании сигнала параметр y принимает некорректное значение - при выполнении замены

if(y != 0) y = pixbuf_height - y;
все становится корректно.

Для типов изображений "bmp", "png", "jpeg" параметры сгенерированного сигнала корректны.

Такая же проблема возникает при загрузке некоторых типов анимационных изображений:

  • Для типа "ani" причина, по-видимому, такая же, как и для "ico".
  • Для типа "gif" причина связана с y и height, но точнее сказать сложно.

Ошибочность параметров сигнала для изображений форматов "ico", "ani", "gif" демонстрирует данный пример.

Раздел стандарта

Gdk-pixbuf 2.6.2 API Reference, GdkPixbufLoader

Компонент

gtk-gdk-pixbuf 2.6.2 or later

Принято

Gnome Bugzilla 581484

[В начало]