summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2021-03-26 11:29:47 +0000
committerMatthias Clasen <mclasen@redhat.com>2021-03-26 11:29:47 +0000
commit301464945501f74acc83e0f671839dfccf4d4f4f (patch)
tree919390b1505dbf972665d3f578e4bb4193e959fd
parentcc64dbafbc8158d5116bf2afe2d422da48b77137 (diff)
parent2496ab09027803c8215a25ab4abc098bbc0af97b (diff)
downloadgtk+-301464945501f74acc83e0f671839dfccf4d4f4f.tar.gz
Merge branch 'pixbuf-loader-check' into 'master'
Make testsuite fail if we lack pixbuf loaders See merge request GNOME/gtk!3348
-rw-r--r--meson.build2
-rw-r--r--testsuite/gdk/meson.build1
-rw-r--r--testsuite/gdk/pixbuf.c31
3 files changed, 33 insertions, 1 deletions
diff --git a/meson.build b/meson.build
index f4e61aea07..e25dec77c4 100644
--- a/meson.build
+++ b/meson.build
@@ -384,7 +384,7 @@ pangocairo_dep = dependency('pangocairo', version: pango_req,
fallback : ['pango', 'libpangocairo_dep'])
pixbuf_dep = dependency('gdk-pixbuf-2.0', version: gdk_pixbuf_req,
fallback : ['gdk-pixbuf', 'gdkpixbuf_dep'],
- default_options: ['man=false'])
+ default_options: ['png=true', 'jpeg=true', 'builtin_loaders=png,jpeg', 'man=false'])
epoxy_dep = dependency('epoxy', version: epoxy_req,
fallback: ['libepoxy', 'libepoxy_dep'])
harfbuzz_dep = dependency('harfbuzz', version: '>= 0.9', required: false,
diff --git a/testsuite/gdk/meson.build b/testsuite/gdk/meson.build
index cc3125de37..5216d7a518 100644
--- a/testsuite/gdk/meson.build
+++ b/testsuite/gdk/meson.build
@@ -11,6 +11,7 @@ tests = [
'encoding',
'keysyms',
'memorytexture',
+ 'pixbuf',
'rectangle',
'rgba',
'seat',
diff --git a/testsuite/gdk/pixbuf.c b/testsuite/gdk/pixbuf.c
new file mode 100644
index 0000000000..592f5d0d32
--- /dev/null
+++ b/testsuite/gdk/pixbuf.c
@@ -0,0 +1,31 @@
+#include <gdk-pixbuf/gdk-pixbuf.h>
+
+int
+main (int argc, char *argv[])
+{
+ GSList *formats;
+ gboolean have_png, have_jpeg;
+
+ have_png = FALSE;
+ have_jpeg = FALSE;
+
+ formats = gdk_pixbuf_get_formats ();
+
+ for (GSList *l = formats; l; l = l->next)
+ {
+ GdkPixbufFormat *format = l->data;
+ const char *name;
+
+ name = gdk_pixbuf_format_get_name (format);
+
+ if (strcmp (name, "png") == 0)
+ have_png = TRUE;
+ else if (strcmp (name, "jpeg") == 0)
+ have_jpeg = TRUE;
+ }
+
+ if (!have_png || !have_jpeg)
+ return 1;
+
+ return 0;
+}