Re: [gtk-vnc-devel] Error on GLib



On Sun, Jan 27, 2008 at 11:20:45AM -0600, Anthony Liguori wrote:
> Jonh Wendell wrote:
> >Hi, Anthony. I didn't work. Same message here :(
> >  
> 
> I've attached a patch which fixes a problem.  The problem is that the 
> vnc-auth-credential signal is being marshaled with the PARAM type.  The 
> PARAM type expects a GParamSpec * which is used to refer to a parameter 
> that's part of the object.  Since we're passing a GValueArray, this is 
> clearly wrong.  The only reason this probably worked with older gtk's is 
> that there was no checking happening so the marshaling function 
> essentially was just marshaling a pointer.  The only thing I can think 
> to do to avoid breaking the ABI is to switch the marshaling function to 
> a POINTER type.  This is gives us the behavior we had before.  I think 
> GTK avoids passing lists of things to signals.  Perhaps the signal 
> interface shouldn't have taken any parameters and relied on calling 
> methods in the object to determine what authentication information was 
> needed.

Hmm, not sure what I was thinking when I wrote that marshalling code, but
I do remember this bit of GTK  being confusing as hell & very badly 
documented :-)  The alternative to using the POINTER type is to simply
define a marshalling function for the GValueArray type, but if the generic
pointer works we might as well stick with that.

Dan.
-- 
|=- Red Hat, Engineering, Emerging Technologies, Boston.  +1 978 392 2496 -=|
|=-           Perl modules: http://search.cpan.org/~danberr/              -=|
|=-               Projects: http://freshmeat.net/~danielpb/               -=|
|=-  GnuPG: 7D3B9505   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505  -=| 




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]