summaryrefslogtreecommitdiff
path: root/gdk-pixbuf/gdk-pixdata.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdk-pixbuf/gdk-pixdata.c')
-rw-r--r--gdk-pixbuf/gdk-pixdata.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gdk-pixbuf/gdk-pixdata.c b/gdk-pixbuf/gdk-pixdata.c
index cdd07107b..e9cdf8f85 100644
--- a/gdk-pixbuf/gdk-pixdata.c
+++ b/gdk-pixbuf/gdk-pixdata.c
@@ -328,8 +328,8 @@ gdk_pixdata_from_pixbuf (GdkPixdata *pixdata,
height = pixbuf->height;
rowstride = pixbuf->rowstride;
- encoding = use_rle ? GDK_PIXDATA_ENCODING_RLE : GDK_PIXDATA_ENCODING_RAW;
bpp = pixbuf->has_alpha ? 4 : 3;
+ encoding = use_rle && ((rowstride / bpp | height) > 1) ? GDK_PIXDATA_ENCODING_RLE : GDK_PIXDATA_ENCODING_RAW;
if (encoding == GDK_PIXDATA_ENCODING_RLE)
{