On Fri, Apr 13, 2018 at 03:49:16PM +0100, Frediano Ziglio wrote: > GConditionWaitSource should inherit from GSource so GSource > should be the first field. Good catch, however what is interesting is why this worked so far without issues, GSource is struct _GSource { /*< private >*/ gpointer callback_data; ... }; With GSource being opaque, the only thing which could cause issues was modifying GConditionWaitSource::self. However, GConditionWaitSource::self is precisely what we use as callback_data, and anyway the GSource probably sets callback_data after spice-gtk set GConditiionWaitSource::self. So this ends up all working even though this is wrong. Acked-by: Christophe Fergeau <cfergeau@xxxxxxxxxx> but I'd add more details to the log Christophe > > Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> > --- > src/gio-coroutine.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/gio-coroutine.c b/src/gio-coroutine.c > index c866e15..1322f01 100644 > --- a/src/gio-coroutine.c > +++ b/src/gio-coroutine.c > @@ -24,8 +24,8 @@ > > typedef struct _GConditionWaitSource > { > + GSource parent; // this MUST be the first field > GCoroutine *self; > - GSource src; > GConditionWaitFunc func; > gpointer data; > } GConditionWaitSource; > -- > 2.14.3 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/spice-devel
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel