[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [bindings] [Bug 340518] PerlQt incompatible with Perl 5.20
From:       Chris Burel <chrisburel () gmail ! com>
Date:       2014-10-31 18:30:23
Message-ID: bug-340518-17878-5OtYlnuaRo () http ! bugs ! kde ! org/
[Download RAW message or body]

https://bugs.kde.org/show_bug.cgi?id=340518

Chris Burel <chrisburel@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |NEEDSINFO

--- Comment #1 from Chris Burel <chrisburel@gmail.com> ---
I've pushed the following change to perlqt master, that I believe resolves this
issue.  Scott, can you verify?

commit 1b665848e178301344386717c658386d160d222a
Author: Chris Burel <chrisburel@gmail.com>
Date:   Fri Oct 31 11:23:18 2014 -0700

    Use a copy of the Qt::AutoLoad::AUTOLOAD variable.

    This appears to be a change in Perl's behavior.  The way the operator
    overloading in PerlQt works is that it first tries to find an operator
method
    on the class itself, and then next it tries to find one in the so-called
    QGlobalSpace, which is a place defined by the smoke library for global Qt
    functions.  Perl passes the underlying XS code the full package and
function
    being called, which PerlQt splits into 2 strings, one for the package name,
and
    one for the method name.  PerlQt null-terminates the package name string,
and
    in previous versions of Perl, this modification did not affect the source
    $AUTOLOAD variable.  In Perl 5.20.0, it does update the Perl variable, and
then
    causes confusion down the line.

-- 
You are receiving this mail because:
You are watching all bug changes.
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic