Skip Menu |

This queue is for tickets about the Glib-Object-Introspection CPAN distribution.

Report information
The Basics
Id: 82376
Status: resolved
Priority: 0/
Queue: Glib-Object-Introspection

People
Owner: Nobody in particular
Requestors: nine [...] detonation.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 0.013
Fixed in: (no value)



Subject: WWW::WebKit fails to install with Glib::Object::Introspection version 0.013
Installation of WWW::WebKit fails in make test with: t/01load.t .. 1/? undef is not of type Gtk3::WebKit::DOMXPathResult at /usr/lib/perl5/site_perl/5.16.0/x86_64-linux-thread- multi/Glib/Object/Introspection.pm line 60. When forcing install, similiar error messages occur when running our program: Gtk3::WebKit::DOMDocument=HASH(0x1042d5c0) is not of type Gtk3::WebKit::DOMElement at /usr/lib/perl5/site_perl/5.16.0/x86_64-linux- thread-multi/Glib/Object/Introspection.pm line 60. It would seem like this is a side effect of one of the changes noted in the NEWS file: * SV -> object: do some type checking * Convert invalid or void GTypes to undef. Glib::Object::Introspection now seems to regard valid types as invalid.
Subject: Re: [rt.cpan.org #82376] WWW::WebKit fails to install with Glib::Object::Introspection version 0.013
Date: Thu, 03 Jan 2013 17:37:19 +0100
To: bug-Glib-Object-Introspection [...] rt.cpan.org
From: Torsten Schoenfeld <kaffeetisch [...] gmx.de>
On 03.01.2013 13:33, Stefan Seifert via RT wrote: Show quoted text
> Installation of WWW::WebKit fails in make test with: > > t/01load.t .. 1/? undef is not of type Gtk3::WebKit::DOMXPathResult at > /usr/lib/perl5/site_perl/5.16.0/x86_64-linux-thread- > multi/Glib/Object/Introspection.pm line 60.
This particular failure traces back to this line in WWW/WebKit.pm: my $xpath_results = $document->evaluate($xpath, $context, $resolver, ORDERED_NODE_SNAPSHOT_TYPE, undef); That last undef is for the argument of type Gtk3::WebKit::DOMXPathResult. Now, the "evaluate" function is documented as accepting undef for the passed-in result [1], but the gobject-introspection typelib (generated from <prefix>/share/gir-1.0/WebKit-3.0.gir) does not contain this information (no allow-none="1", see [2]). Hence, the Perl bindings (after one of the changes you cite) do not accept undef for this argument. So I'm inclined to say that this is a bug in webkitgtk, as its annotations are incomplete. [1] See <http://svn.webkit.org/repository/webkit/trunk/Source/WebCore/dom/Document.idl>, for example. [2] https://live.gnome.org/GObjectIntrospection/Annotations#Nullable_parameters Show quoted text
> When forcing install, similiar error messages occur when running our > program: > Gtk3::WebKit::DOMDocument=HASH(0x1042d5c0) is not of type > Gtk3::WebKit::DOMElement at /usr/lib/perl5/site_perl/5.16.0/x86_64-linux- > thread-multi/Glib/Object/Introspection.pm line 60.
This sounds like the problem is also caused by a missing "allow-none" annotation.
On Thu Jan 03 11:37:32 2013, TSCH wrote: Show quoted text
> > This sounds like the problem is also caused by a missing "allow-none" > annotation.
I released version 0.06 of WWW::WebKit that finally fixes the problems. Although the annotation is still missing, the current versions of all involved libraries and modules work well enough to allow using the workaround of passing a new Gtk3::WebKit::DOMXPathResult object as the last parameter. It turns out that all other errors were actually bugs in WWW::WebKit which I fixed. I suggest, you close this bugreport since a workaround is no longer needed. Thanks for explaining the source of the error!
On Thu Oct 03 13:40:51 2013, NINE wrote: Show quoted text
> I suggest, you close this bugreport since a workaround is no longer > needed. Thanks for explaining the source of the error!
Alright, will do. Thanks for the notification.