EULA page only shown for at most one EULA
Commit 75f43d3a (part of Bugzilla bug #794166) changed the signature of the prepare_page_func
for each page. Previously, the signature was void (*PreparePage) (GisDriver *driver)
and each page implementation was responsible for calling gis_driver_add_page()
as many times as necessary. After that commit, the signature became GisPage *(*PreparePage) (GisDriver *driver)
and, if it returns non-NULL
, gis-driver.c
's rebuild_pages_cb()
calls gis_driver_add_page()
.
This is fine for the vast majority of pages which are shown 0 or 1 times, but gis-eula-pages.c
previously created & appended one GisEulaPage
for each file in $PKGDATADIR/eulas
. Now it creates them all, leaks all but the last one, and returns that one. The effect is that only 1 arbitrarily-selected EULA will be displayed.
@mcatanzaro @matthiasc do you happen to know which distro(s) use the EULA page? For better or for worse, Endless has a downstream implementation of a similar idea; and I can't find any EULAs on a Fedora system.