Date: Mon, 6 Oct 2003 16:58:10 +0100 To: Fabrice Le Fessant Cc: Jun.Furuse at inria.fr, lablgtk at kaba.or.jp Subject: Re: Embedding Mozilla / Gecko Message-ID: <20031006155810.GC17693 at redhat.com> References: <20031003193331.GA2154 at redhat.com> <20031006104547.GA12000 at redhat.com> <16257.23215.301128.102559 at tyminouch.dyndns.org> <20031006145738.GA17693 at redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20031006145738.GA17693 at redhat.com> From: Richard Jones On Mon, Oct 06, 2003 at 03:57:38PM +0100, Richard Jones wrote: > On Mon, Oct 06, 2003 at 02:06:07PM +0200, Fabrice Le Fessant wrote: > > Yes, I would definitively be interested in the patches ! Thanks, > > Well, I couldn't be bothered with patches. The tarball is here: > > http://www.annexia.org/tmp/lablgtk2-mozembed.tar.gz > > You (may) need the latest version of lablgtk2 (CVS 20030828). I > haven't tested it against anything earlier. There is actually one problem with the above tarball. It wraps the new_window signal up incorrectly. The new_window signal is defined as: void (* new_window) (GtkMozEmbed *embed, GtkMozEmbed **newEmbed, guint chromemask); The signal is supposed to create a new window and return it through the second argument. The original (lablgtk1 code) is: let new_window : ([>`mozembed], chrome_flags list -> mozembed obj) t = (* since chromemask is 32bit flags, we cannot use parsed gtkArgv.data. We get nativeint from GtkArgv.t directly *) let marshal f argv _ = let chromemask = get_nativeint argv 1 in let res = f (vallist_flags chromemask) in GtkArgv.Arg.set_retloc (GtkArgv.nth argv 0) (`OBJECT(Some res)) in { name = "new_window"; marshaller = marshal } I'm not sure how to rewrite this code to use Gobject.Closures, because they don't see to support anything like the set_retloc function. Rich. -- Richard Jones. http://www.annexia.org/ http://freshmeat.net/users/rwmj Merjis Ltd. http://www.merjis.com/ - all your business data are belong to you. "My karma ran over your dogma"