libnautilus-extensions API broken without warning
Commit 7e2605c6 made changes that broke a number of modules. For example, nautilus-ideviceinfo:
In file included from /home/hadess/Projects/jhbuild/nautilus-ideviceinfo/src/nautilus-ideviceinfo.c:33:0:
/home/hadess/Projects/gnome-install/include/nautilus/libnautilus-extension/nautilus-property-page-provider.h:34:2: warning: #warning "Only <nautilus-extension.h> should be included directly." [-Wcpp]
#warning "Only <nautilus-extension.h> should be included directly."
^~~~~~~
In file included from /home/hadess/Projects/jhbuild/nautilus-ideviceinfo/src/nautilus-ideviceinfo.c:34:0:
/home/hadess/Projects/gnome-install/include/nautilus/libnautilus-extension/nautilus-location-widget-provider.h:35:2: warning: #warning "Only <nautilus-extension.h> should be included directly." [-Wcpp]
#warning "Only <nautilus-extension.h> should be included directly."
^~~~~~~
/home/hadess/Projects/jhbuild/nautilus-ideviceinfo/src/nautilus-ideviceinfo.c:46:8: error: unknown type name ‘NautilusPropertyPage’
static NautilusPropertyPage *ideviceinfo_property_page_new(NautilusPropertyPageProvider *provider, const char *uuid, const char *mount_path)
^~~~~~~~~~~~~~~~~~~~
/home/hadess/Projects/jhbuild/nautilus-ideviceinfo/src/nautilus-ideviceinfo.c: In function ‘ideviceinfo_property_page_new’:
/home/hadess/Projects/jhbuild/nautilus-ideviceinfo/src/nautilus-ideviceinfo.c:48:2: error: unknown type name ‘NautilusPropertyPage’; did you mean ‘NautilusPropertyPageProvider’?
NautilusPropertyPage *ret;
^~~~~~~~~~~~~~~~~~~~
NautilusPropertyPageProvider
nautilus-property-page-provider.h added a guard warning, but removed existing includes, meaning those warnings were really transformed into errors: 7e2605c6
The existing/legacy includes should have been left inside the guard to not break existing extensions.
See also recent commits to gnome-user-share.