diff -Nuard gtk+-2.4.0.orig/gdk-pixbuf/Makefile.am gtk+-2.4.0/gdk-pixbuf/Makefile.am --- gtk+-2.4.0.orig/gdk-pixbuf/Makefile.am 2004-03-15 15:28:44.000000000 +0100 +++ gtk+-2.4.0/gdk-pixbuf/Makefile.am 2004-03-20 20:42:20.000000000 +0100 @@ -43,6 +43,7 @@ libgdk_pixbuf-2.0.la loaderdir = $(libdir)/gtk-2.0/$(GTK_BINARY_VERSION)/loaders +loaderdir22 = $(libdir)/gtk-2.0/2.2.0/loaders module_libs = libgdk_pixbuf-$(GTK_API_VERSION).la $(GDK_PIXBUF_DEP_LIBS) @@ -267,7 +268,7 @@ $(GDK_PIXBUF_DEP_CFLAGS) \ -DGDK_PIXBUF_ENABLE_BACKEND -AM_CPPFLAGS = "-DPIXBUF_LIBDIR=\"$(loaderdir)\"" "-DBUILT_MODULES_DIR=\"$(srcdir)/.libs\"" +AM_CPPFLAGS = "-DPIXBUF_LIBDIR=\"$(loaderdir)\"" "-DPIXBUF_LIBDIR22=\"$(loaderdir22)\"" "-DBUILT_MODULES_DIR=\"$(srcdir)/.libs\"" LDADDS = libgdk_pixbuf-$(GTK_API_VERSION).la noinst_PROGRAMS = test-gdk-pixbuf diff -Nuard gtk+-2.4.0.orig/gdk-pixbuf/queryloaders.c gtk+-2.4.0/gdk-pixbuf/queryloaders.c --- gtk+-2.4.0.orig/gdk-pixbuf/queryloaders.c 2004-03-15 15:28:45.000000000 +0100 +++ gtk+-2.4.0/gdk-pixbuf/queryloaders.c 2004-03-20 20:44:29.357476296 +0100 @@ -274,6 +274,24 @@ } g_dir_close (dir); } + /* hack to read 2.2.0 direcotry */ + path = PIXBUF_LIBDIR22; + + g_printf ("\n# LoaderDir = %s\n#\n", path); + + dir = g_dir_open (path, 0, NULL); + if (dir) { + const char *dent; + + while ((dent = g_dir_read_name (dir))) { + gint len = strlen (dent); + if (len > SOEXT_LEN && + strcmp (dent + len - SOEXT_LEN, SOEXT) == 0) { + query_module (path, dent); + } + } + g_dir_close (dir); + } #else g_printf ("# dynamic loading of modules not supported\n"); #endif diff -Nuard gtk+-2.4.0.orig/gtk/gtkmain.c gtk+-2.4.0/gtk/gtkmain.c --- gtk+-2.4.0.orig/gtk/gtkmain.c 2004-03-15 16:32:04.000000000 +0100 +++ gtk+-2.4.0/gtk/gtkmain.c 2004-03-20 19:58:41.303244040 +0100 @@ -399,9 +399,10 @@ for (path = paths; *path; path++) count++; - result = g_new (gchar *, count * 4 + 1); + result = g_new (gchar *, count * 5 + 1); count = 0; + for (path = get_module_path (); *path; path++) { gint use_version, use_host; @@ -422,6 +423,8 @@ result[count++] = tmp_dir; } + + result[count++] = g_build_filename (*path, "2.2.0", type, NULL); } result[count++] = NULL;