On Tue, 2015-09-22 at 11:39 -0400, Marc-André Lureau wrote: > > ----- Original Message ----- > > On Tue, 2015-09-22 at 11:30 -0400, Marc-André Lureau wrote: > > > > > > ----- Original Message ----- > > > > Does anybody object to this series? > > > > > > Yes, you broke the build with 1/2 and then you fix it in 2/2? and you > > > didn't explain what the point of it. > > > > The point of it? channel-main.c should include channel-main.h. The fact > > that it was indirectly included was only an accident. I thought that > > would be self-explanatory. As for combining the two, that's a good > > point. Are you ok with it if I squash these? > > Hmm, this could potentially break build of other users, since spice-client.h is no longer included by channel-main.h. > > Instead, I would suggest to add internal header guards, so only > spice-client.h can be included, and you get a compiler warning if not > (see how it's done with glib for ex) Glib generates a compiler error, not a warning. Are you advocating a warning or an error? And are you arguing against removing this circular include even with the warning/error? I realize that this could potentially break some builds, but I think it's still worth considering. - it's wrong, and fragile. While making some other changes in spice-gtk, the spice-gtk build broke and it was a confusing error. - it is easy for applications to fix, and if we generate a warning, it would be very obvious how to fix it - it's only a build error. Runtime compatibility with older versions is still fine. Jonathon > > > Jonathon > > > > > > > > > > > > At the minimum, the two patches should be merged and explain why this > > > change is necessary. > > > > > > > > > > > On Mon, 2015-09-14 at 10:05 -0500, Jonathon Jongsma wrote: > > > > > This error only started occurring after patch 1/2. > > > > > > > > > > > > > > > On Fri, 2015-09-11 at 17:37 -0400, Marc-André Lureau wrote: > > > > > > Hi > > > > > > > > > > > > ----- Original Message ----- > > > > > > > spice-client.h is a super-header that includes all of the other > > > > > > > public > > > > > > > headers (including channel-main.h). By including this from > > > > > > > channel-main.h, it creates a circular dependency. This was causing > > > > > > > some > > > > > > > build problems with spice-audio.h: > > > > > > > > > > > > > > In file included from ../../src/spice-client.h:50:0, > > > > > > > from ../../src/channel-main.h:21, > > > > > > > from ../../src/channel-main.c:25: > > > > > > > ../../src/spice-audio.h:74:44: error: unknown type name > > > > > > > 'SpiceMainChannel' > > > > > > > SpiceMainChannel > > > > > > > *main_channel, > > > > > > > ^ > > > > > > > > > > > > > > > > > > > How did you get this error? after your patch or before? > > > > > > > > > > > > > Instead of including this super-header, just include the one we > > > > > > > need: > > > > > > > spice-channel.h > > > > > > > --- > > > > > > > src/channel-main.h | 2 +- > > > > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > > > > > > > diff --git a/src/channel-main.h b/src/channel-main.h > > > > > > > index 86bb46b..92875dc 100644 > > > > > > > --- a/src/channel-main.h > > > > > > > +++ b/src/channel-main.h > > > > > > > @@ -18,7 +18,7 @@ > > > > > > > #ifndef __SPICE_CLIENT_MAIN_CHANNEL_H__ > > > > > > > #define __SPICE_CLIENT_MAIN_CHANNEL_H__ > > > > > > > > > > > > > > -#include "spice-client.h" > > > > > > > +#include "spice-channel.h" > > > > > > > > > > > > > > G_BEGIN_DECLS > > > > > > > > > > > > > > -- > > > > > > > 2.1.0 > > > > > > > > > > > > > > _______________________________________________ > > > > > > > Spice-devel mailing list > > > > > > > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > > > > > > > http://lists.freedesktop.org/mailman/listinfo/spice-devel > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > Spice-devel mailing list > > > > > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > > > > > http://lists.freedesktop.org/mailman/listinfo/spice-devel > > > > > > > > > > > > _______________________________________________ > > > > Spice-devel mailing list > > > > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > > > > http://lists.freedesktop.org/mailman/listinfo/spice-devel > > > > > > > > > > _______________________________________________ > > Spice-devel mailing list > > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > > http://lists.freedesktop.org/mailman/listinfo/spice-devel > > _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel