Re: [gtk-vnc-devel] Error on GLib
- From: Anthony Liguori <anthony codemonkey ws>
- To: "Daniel P. Berrange" <berrange redhat com>
- Cc: gtk-vnc-devel List <gtk-vnc-devel lists sourceforge net>
- Subject: Re: [gtk-vnc-devel] Error on GLib
- Date: Sun, 27 Jan 2008 11:47:40 -0600
Daniel P. Berrange wrote:
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.
I thought of that too, but then, after spending an hour trying to figure
out the relationship between GParamSpec, GValues, et al, I decided that
it wasn't worth it :-)
Regards,
Anthony Liguori
Dan.
[
Date Prev][
Date Next] [
Thread Prev][Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]