Re: Gtk2::MozEmbed + DOM



Thanks muppet and Torsten for your helpful replies.
I'm having some problems:

On Wed, 23 Mar 2005, Torsten Schoenfeld wrote:
 For the typemap you can just use:

TYPEMAP

nsIDOMKeyEvent *        T_GPERL_GENERIC_WRAPPER

And skip the OUTPUT and INPUT sections.  T_GPERL_GENERIC_WRAPPER will
automatically call newSVnsIDOMKeyEvent and SvnsIDOMKeyEvent for you.

Do I put this in a separate file called 'typemap'
and then change Makefile.PL to add this typemap?
I tried this but then `make` said it couldn't find
'xs/typemap' (I don't know why it's looking there).
So I moved the file into the 'xs' directory and reverted
the Makefile.PL, and it got past that error at least,
but now it's giving me the following error (note: for the
moment, I added CC => 'c++' to Makefile.PL so that it
compiles C++ because when I included nsIDOMMouseEvent.h
some of the files it includes have classes in them):

$ make
c++ -c -I/usr/include/mozilla/gtkembedmoz -I/usr/include/mozilla/xpcom -I/usr/include/mozilla/string -I/usr/include/mozilla/nspr -I/usr/include/mozilla -I/usr/lib/perl5/Glib/Install -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread -I. -I/usr/lib/perl5/Gtk2/Install -DXTHREADS -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I./build -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"0.03\" -DXS_VERSION=\"0.03\" -o xs/GtkMozEmbed.o -fPIC "-I/usr/lib/perl/5.8/CORE" xs/GtkMozEmbed.c
GtkMozEmbed.c: In function `void XS_Gtk2__MozEmbed_reload(PerlInterpreter*,
   CV*)':
GtkMozEmbed.c:557: error: invalid conversion from `gint' to `
   GtkMozEmbedReloadFlags'
GtkMozEmbed.c: In function `void
   XS_Gtk2__MozEmbed_set_chrome_mask(PerlInterpreter*, CV*)':
GtkMozEmbed.c:572: error: invalid conversion from `gint' to `
   GtkMozEmbedChromeFlags'
GtkMozEmbed.c: In function `void
   XS_Gtk2__MozEmbed_get_chrome_mask(PerlInterpreter*, CV*)':
GtkMozEmbed.c:589: error: invalid conversion from `guint32' to `
   GtkMozEmbedChromeFlags'
make: *** [xs/GtkMozEmbed.o] Error 1

So I wonder if now the typemap has blocked out the ones
in the 'maps' file, or maybe it's because it's C++ and I just
don't understand that enough.
For reference, in the error above, this corresponds to line 557:

XS(XS_Gtk2__MozEmbed_reload); /* prototype to pass -Wmissing-prototypes */
XS(XS_Gtk2__MozEmbed_reload)
{
    dXSARGS;
    if (items != 2)
        Perl_croak(aTHX_ "Usage: Gtk2::MozEmbed::reload(embed, flags)");
    {
        GtkMozEmbed *   embed = SvGtkMozEmbed (ST(0));
        /* * * * line 557 is next * * * */
        GtkMozEmbedReloadFlags  flags = SvGtkMozEmbedReloadFlags (ST(1));

        gtk_moz_embed_reload(embed, flags);
    }
    XSRETURN_EMPTY;
}



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