gtk+ r20837 - in trunk: . gdk-pixbuf



Author: matthiasc
Date: Tue Jul 15 16:33:24 2008
New Revision: 20837
URL: http://svn.gnome.org/viewvc/gtk+?rev=20837&view=rev

Log:
test content sniffing capability of gio


Modified:
   trunk/ChangeLog
   trunk/configure.in
   trunk/gdk-pixbuf/ChangeLog
   trunk/gdk-pixbuf/gdk-pixbuf-io.c

Modified: trunk/configure.in
==============================================================================
--- trunk/configure.in	(original)
+++ trunk/configure.in	Tue Jul 15 16:33:24 2008
@@ -1015,6 +1015,45 @@
 # check one of the variables here
 AM_CONDITIONAL(INCLUDE_GDIPLUS, [test x"$INCLUDE_gdip_ico" = xyes])
 
+AC_MSG_CHECKING([if gio can sniff png])
+gtk_save_LIBS="$LIBS"
+gtk_save_CFLAGS="$CFLAGS"
+LIBS="`$PKG_CONFIG --libs gio-2.0`"
+CFLAGS="`$PKG_CONFIG --cflags gio-2.0`"
+AC_RUN_IFELSE([AC_LANG_SOURCE([[
+#include <gio/gio.h>
+static const gsize data_size = 159;
+static const guint8 data[] = 
+{
+  0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 
+  0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 
+  0x08, 0x02, 0x00, 0x00, 0x00, 0x90, 0x77, 0x53, 0xde, 0x00, 0x00, 0x00, 
+  0x01, 0x73, 0x52, 0x47, 0x42, 0x00, 0xae, 0xce, 0x1c, 0xe9, 0x00, 0x00, 
+  0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x0b, 0x13, 0x00, 0x00, 
+  0x0b, 0x13, 0x01, 0x00, 0x9a, 0x9c, 0x18, 0x00, 0x00, 0x00, 0x07, 0x74, 
+  0x49, 0x4d, 0x45, 0x07, 0xd8, 0x07, 0x0f, 0x10, 0x08, 0x15, 0x61, 0xd8, 
+  0x35, 0x37, 0x00, 0x00, 0x00, 0x19, 0x74, 0x45, 0x58, 0x74, 0x43, 0x6f, 
+  0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x00, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 
+  0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x47, 0x49, 0x4d, 0x50, 0x57, 
+  0x81, 0x0e, 0x17, 0x00, 0x00, 0x00, 0x0c, 0x49, 0x44, 0x41, 0x54, 0x08, 
+  0xd7, 0x63, 0xf8, 0xff, 0xff, 0x3f, 0x00, 0x05, 0xfe, 0x02, 0xfe, 0xdc, 
+  0xcc, 0x59, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 
+  0x42, 0x60, 0x82
+};
+int
+main (int argc, char **argv)
+{
+  char *content_type;
+  content_type = g_content_type_guess (NULL, data, data_size, NULL);  
+  return strcmp (content_type, "image/png");
+}]])],
+  [gio_can_sniff=yes
+   AC_DEFINE(GDK_PIXBUF_USE_GIO_MIME, 1, [Define if gio can sniff image data])],
+  [gio_can_sniff=no])
+AC_MSG_RESULT($gio_can_sniff)
+LIBS="$gtk_save_LIBS"
+CFLAGS="$gtk_save_CFLAGS"
+
 #
 # Allow building some or all immodules included
 #

Modified: trunk/gdk-pixbuf/gdk-pixbuf-io.c
==============================================================================
--- trunk/gdk-pixbuf/gdk-pixbuf-io.c	(original)
+++ trunk/gdk-pixbuf/gdk-pixbuf-io.c	Tue Jul 15 16:33:24 2008
@@ -51,11 +51,6 @@
 #define SNIFF_BUFFER_SIZE 4096
 #define LOAD_BUFFER_SIZE 65536
 
-#ifndef G_OS_WIN32
-/* GIO doesn't do mime sniffing on Win32, so we need to do our own */
-#define GDK_PIXBUF_USE_GIO_MIME 1
-#endif
-
 #ifndef GDK_PIXBUF_USE_GIO_MIME 
 static gint 
 format_check (GdkPixbufModule *module, guchar *buffer, int size)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]