diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-03-26 11:29:47 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2021-03-26 11:29:47 +0000 |
commit | 301464945501f74acc83e0f671839dfccf4d4f4f (patch) | |
tree | 919390b1505dbf972665d3f578e4bb4193e959fd | |
parent | cc64dbafbc8158d5116bf2afe2d422da48b77137 (diff) | |
parent | 2496ab09027803c8215a25ab4abc098bbc0af97b (diff) | |
download | gtk+-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.build | 2 | ||||
-rw-r--r-- | testsuite/gdk/meson.build | 1 | ||||
-rw-r--r-- | testsuite/gdk/pixbuf.c | 31 |
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; +} |