rem: filename = g_build_filename (G_DIR_SEPARATOR_S, DATADIR, "totem", "filmholes.png", NULL);
add: filename = g_build_filename (DATADIR, "totem", "filmholes.png", NULL);
context: add_holes_to_pixbuf (GdkPixbuf *pixbuf, int width, int height){	GdkPixbuf *holes, *tmp;	char *filename;	int i;	filename = g_build_filename (G_DIR_SEPARATOR_S, DATADIR,			"totem", "filmholes.png", NULL);	holes = gdk_pixbuf_new_from_file (filename, NULL);	g_free (filename);	if (holes == NULL)	{		gdk_pixbuf_ref (pixbuf);		return pixbuf;	}	g_assert (gdk_pixbuf_get_has_alpha (pixbuf) == FALSE);	g_assert (gdk_pixbuf_get_has_alpha (holes) == TRUE);	tmp = gdk_pixbuf_add_alpha (pixbuf, FALSE, 0, 0, 0);	for (i = 0; i < height; i += gdk_pixbuf_get_height (holes))	{		gdk_pixbuf_composite (holes, tmp, 0, i,				MIN (width, gdk_pixbuf_get_width (holes)),				MIN (height-i, gdk_pixbuf_get_height (holes)),				0, i, 1, 1, GDK_INTERP_NEAREST, 255);	}	gdk_pixbuf_mirror (holes);	for (i = 0; i < height; i += gdk_pixbuf_get_height (holes))	{		gdk_pixbuf_composite (holes, tmp,				width - gdk_pixbuf_get_width (holes), i,				MIN (width, gdk_pixbuf_get_width (holes)),				MIN (height-i, gdk_pixbuf_get_height (holes)),				width - gdk_pixbuf_get_width (holes), i,				1, 1, GDK_INTERP_NEAREST, 255);	}	gdk_pixbuf_unref (holes);	return tmp;}