summaryrefslogtreecommitdiffstats
path: root/meta/packages/gtk+/gtk+-2.6.4-1.osso7/io-gif.c.diff
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/gtk+/gtk+-2.6.4-1.osso7/io-gif.c.diff')
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/io-gif.c.diff37
1 files changed, 37 insertions, 0 deletions
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/io-gif.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/io-gif.c.diff
new file mode 100644
index 0000000000..a42d0e4ac2
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/io-gif.c.diff
@@ -0,0 +1,37 @@
1--- gtk+-2.6.4/gdk-pixbuf/io-gif.c 2004-11-12 07:34:31.000000000 +0200
2+++ gtk+-2.6.4/gdk-pixbuf/io-gif.c 2005-04-06 16:19:35.597126776 +0300
3@@ -920,6 +920,34 @@
4
5 gdk_pixbuf_gif_anim_frame_composite (context->animation, prev_frame);
6
7+ /* Composite failed */
8+ if (prev_frame->composited == NULL) {
9+ GdkPixbufFrame *frame = NULL;
10+ link = g_list_first (context->animation->frames);
11+ while (link != NULL) {
12+ frame = (GdkPixbufFrame *)link->data;
13+ if (frame != NULL) {
14+ if (frame->pixbuf != NULL)
15+ g_object_unref (frame->pixbuf);
16+ if (frame->composited != NULL)
17+ g_object_unref (frame->composited);
18+ if (frame->revert != NULL)
19+ g_object_unref (frame->revert);
20+ g_free (frame);
21+ }
22+ link = link->next;
23+ }
24+
25+ g_list_free (context->animation->frames);
26+ context->animation->frames = NULL;
27+
28+ g_set_error (context->error,
29+ GDK_PIXBUF_ERROR,
30+ GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY,
31+ _("Not enough memory to composite a frame in GIF file"));
32+ return -2;
33+ }
34+
35 x = context->frame->x_offset;
36 y = context->frame->y_offset;
37 w = gdk_pixbuf_get_width (context->frame->pixbuf);