I had these modules listed as being owned by me, but they are really owned by
wangke, correcting.
diff -urN gtk+-2.18.0/modules/printbackends/cups/gtkprintbackendcups.c ../../SUNWgtk2-2.18.0.hacked/i386/gtk+-2.18.0/modules/printbackends/cups/gtkprintbackendcups.c
--- gtk+-2.18.0/modules/printbackends/cups/gtkprintbackendcups.c 2009-09-12 03:58:39.000000000 +0100
+++ ../../SUNWgtk2-2.18.0.hacked/i386/gtk+-2.18.0/modules/printbackends/cups/gtkprintbackendcups.c 2009-10-12 15:16:34.544907874 +0100
@@ -228,6 +228,23 @@
G_MODULE_EXPORT GtkPrintBackend *
pb_module_create (void)
{
+ static gboolean loaded = FALSE;
+
+ if (!loaded)
+ {
+ GModule *cups;
+ GModuleFlags flags;
+
+ flags = G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL;
+
+ cups = g_module_open ("libcups.so", flags);
+ loaded = TRUE;
+ if (!cups)
+ return NULL;
+ else
+ g_module_close (cups);
+ }
+
return gtk_print_backend_cups_new ();
}
diff -urN gtk+-2.18.0/modules/printbackends/papi/gtkprintbackendpapi.c ../../SUNWgtk2-2.18.0.hacked/i386/gtk+-2.18.0/modules/printbackends/papi/gtkprintbackendpapi.c
--- gtk+-2.18.0/modules/printbackends/papi/gtkprintbackendpapi.c 2009-09-12 03:58:39.000000000 +0100
+++ ../../SUNWgtk2-2.18.0.hacked/i386/gtk+-2.18.0/modules/printbackends/papi/gtkprintbackendpapi.c 2009-10-12 15:16:10.112638436 +0100
@@ -140,6 +140,23 @@
G_MODULE_EXPORT GtkPrintBackend *
pb_module_create (void)
{
+ static gboolean loaded = FALSE;
+
+ if (!loaded)
+ {
+ GModule *papi;
+ GModuleFlags flags;
+
+ flags = G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL;
+
+ papi = g_module_open ("libpapi.so", flags);
+ loaded = TRUE;
+ if (!papi)
+ return NULL;
+ else
+ g_module_close (papi);
+ }
+
return gtk_print_backend_papi_new ();
}