diff --git a/gdk-pixbuf/gdk-pixbuf-io.c b/gdk-pixbuf/gdk-pixbuf-io.c index 7fbcbd3b3d..236fdaeb23 100644 --- a/gdk-pixbuf/gdk-pixbuf-io.c +++ b/gdk-pixbuf/gdk-pixbuf-io.c @@ -136,17 +136,17 @@ pixbuf_check_ppm (guchar *buffer, int size) #endif ModuleType file_formats [] = { - { "png", pixbuf_check_png, NULL, NULL, NULL }, - { "jpeg", pixbuf_check_jpeg, NULL, NULL, NULL }, - { "tiff", pixbuf_check_tiff, NULL, NULL, NULL }, - { "gif", pixbuf_check_gif, NULL, NULL, NULL }, + { "png", pixbuf_check_png, NULL, NULL, NULL, NULL, NULL, NULL }, + { "jpeg", pixbuf_check_jpeg, NULL, NULL, NULL, NULL, NULL, NULL }, + { "tiff", pixbuf_check_tiff, NULL, NULL, NULL, NULL, NULL, NULL }, + { "gif", pixbuf_check_gif, NULL, NULL, NULL, NULL, NULL, NULL }, #define XPM_FILE_FORMAT_INDEX 4 - { "xpm", pixbuf_check_xpm, NULL, NULL, NULL }, + { "xpm", pixbuf_check_xpm, NULL, NULL, NULL, NULL, NULL, NULL }, #if 0 - { "bmp", pixbuf_check_bmp, NULL, NULL, NULL }, - { "ppm", pixbuf_check_ppm, NULL, NULL, NULL }, + { "bmp", pixbuf_check_bmp, NULL, NULL, NULL, NULL, NULL, NULL }, + { "ppm", pixbuf_check_ppm, NULL, NULL, NULL, NULL, NULL, NULL }, #endif - { NULL, NULL, NULL, NULL } + { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL } }; static void @@ -155,7 +155,7 @@ image_handler_load (ModuleType *image_module) char *module_name; char *path; GModule *module; - void *load_sym; + gpointer load_sym; g_return_if_fail(image_module->module == NULL); @@ -177,6 +177,15 @@ image_handler_load (ModuleType *image_module) if (g_module_symbol (module, "image_load_xpm_data", &load_sym)) image_module->load_xpm_data = load_sym; + + if (g_module_symbol (module, "image_begin_load", &load_sym)) + image_module->begin_load = load_sym; + + if (g_module_symbol (module, "image_stop_load", &load_sym)) + image_module->stop_load = load_sym; + + if (g_module_symbol (module, "image_load_increment", &load_sym)) + image_module->load_increment = load_sym; } diff --git a/gdk-pixbuf/gdk-pixbuf-loader.c b/gdk-pixbuf/gdk-pixbuf-loader.c index 057228065c..ecb1b071f8 100644 --- a/gdk-pixbuf/gdk-pixbuf-loader.c +++ b/gdk-pixbuf/gdk-pixbuf-loader.c @@ -25,6 +25,7 @@ #include "gdk-pixbuf-loader.h" #include "gdk-pixbuf-io.h" +#include enum { AREA_UPDATED, @@ -58,10 +59,9 @@ static guint pixbuf_loader_signals[LAST_SIGNAL] = { 0 }; /* our marshaller */ typedef void (*GtkSignal_NONE__INT_INT_INT_INT) (GtkObject * object, gint arg1, - gpointer arg2, + gint arg2, gint arg3, gint arg4, - gint arg5, gpointer user_data); void gtk_marshal_NONE__INT_INT_INT_INT (GtkObject * object, @@ -184,7 +184,7 @@ gdk_pixbuf_loader_prepare (GdkPixbuf *pixbuf, gpointer loader) g_assert (priv->pixbuf == NULL); priv->pixbuf = pixbuf; - gtk_signal_emit (GTK_OBJECT (loader), druid_page_signals[AREA_PREPARED]); + gtk_signal_emit (GTK_OBJECT (loader), pixbuf_loader_signals[AREA_PREPARED]); } /* Public functions */ @@ -315,7 +315,7 @@ gdk_pixbuf_loader_close (GdkPixbufLoader *loader) g_return_if_fail (priv->closed == FALSE); /* We have less the 128 bytes in the image. Flush it, and keep going. */ - if (priv->module == NULL) { + if (priv->image_module == NULL) { priv->image_module = gdk_pixbuf_get_module (priv->buf, priv->buf_offset); if (priv->image_module && ((priv->image_module->begin_load == NULL) || @@ -331,7 +331,7 @@ gdk_pixbuf_loader_close (GdkPixbufLoader *loader) } if (priv->image_module && priv->image_module->stop_load) - (priv->image_module->stop_load) (loader->context); + (priv->image_module->stop_load) (priv->context); priv->closed = TRUE; } diff --git a/gtk/gdk-pixbuf-loader.c b/gtk/gdk-pixbuf-loader.c index 057228065c..ecb1b071f8 100644 --- a/gtk/gdk-pixbuf-loader.c +++ b/gtk/gdk-pixbuf-loader.c @@ -25,6 +25,7 @@ #include "gdk-pixbuf-loader.h" #include "gdk-pixbuf-io.h" +#include enum { AREA_UPDATED, @@ -58,10 +59,9 @@ static guint pixbuf_loader_signals[LAST_SIGNAL] = { 0 }; /* our marshaller */ typedef void (*GtkSignal_NONE__INT_INT_INT_INT) (GtkObject * object, gint arg1, - gpointer arg2, + gint arg2, gint arg3, gint arg4, - gint arg5, gpointer user_data); void gtk_marshal_NONE__INT_INT_INT_INT (GtkObject * object, @@ -184,7 +184,7 @@ gdk_pixbuf_loader_prepare (GdkPixbuf *pixbuf, gpointer loader) g_assert (priv->pixbuf == NULL); priv->pixbuf = pixbuf; - gtk_signal_emit (GTK_OBJECT (loader), druid_page_signals[AREA_PREPARED]); + gtk_signal_emit (GTK_OBJECT (loader), pixbuf_loader_signals[AREA_PREPARED]); } /* Public functions */ @@ -315,7 +315,7 @@ gdk_pixbuf_loader_close (GdkPixbufLoader *loader) g_return_if_fail (priv->closed == FALSE); /* We have less the 128 bytes in the image. Flush it, and keep going. */ - if (priv->module == NULL) { + if (priv->image_module == NULL) { priv->image_module = gdk_pixbuf_get_module (priv->buf, priv->buf_offset); if (priv->image_module && ((priv->image_module->begin_load == NULL) || @@ -331,7 +331,7 @@ gdk_pixbuf_loader_close (GdkPixbufLoader *loader) } if (priv->image_module && priv->image_module->stop_load) - (priv->image_module->stop_load) (loader->context); + (priv->image_module->stop_load) (priv->context); priv->closed = TRUE; }