PySide Bugzilla Closed for New Bugs

PySide is now a Qt Add-on and uses the Qt Project's JIRA Bug Tracker instead of this Bugzilla instance. This Bugzilla is left for reference purposes.

Bug 201 - Signatures containing "pointer to function" types are not properly recognized
: Signatures containing "pointer to function" types are not properly recognized
Status: CLOSED INVALID
Product: PySide
Classification: Unclassified
Component: ApiExtractor
: 0.2.3
: All All
: P5 minor
Assigned To: renato filho
:
:
:
  Show dependency treegraph
 
Reported: 2010-03-29 15:44 EEST by Anderson Lizardo
Modified: 2010-11-25 17:53 EET (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anderson Lizardo 2010-03-29 15:44:57 EEST
Types created using typedef, such as "qreal":

typedef double qreal;

cannot be used in signatures like:

<modify-function signature="setCustomType(qreal)" remove="all"/>

Instead, one has to use:

<modify-function signature="setCustomType(double)" remove="all"/>

The problem is that on ARM (and other architectures) qreal is defined as:

typedef float qreal;

so the "double" signature does not match. Ideally, apiextractor could allow to
use typedef'ed types in signatures as any other types.
Comment 1 Anderson Lizardo 2010-03-29 17:05:47 EEST
Ok, a made a mistake while describing the bug. The specific situation where the
bug occurs is for this code (borrowed from QtCore/qeasingcurve.h):

class Q_CORE_EXPORT QEasingCurve {
...
    typedef qreal (*EasingFunction)(qreal progress);
    void setCustomType(EasingFunction func);
...
};

In order to ignore the "setCustomType" method, one need to use something like
(in x86):

<modify-function signature="setCustomType(double)" remove="all"/>

Looks like a bug, because setCustomType() does not take a double as first
argument. Besides on ARM this does not work, and has to be:

<modify-function signature="setCustomType(float)" remove="all"/>
Comment 2 Anderson Lizardo 2010-04-01 15:22:56 EEST
A workaround was committed in pyside-shiboken for this bug:
96e7b2db77552e1b322427125a9044381f778182
Comment 3 Matti Airas 2010-11-22 14:52:21 EET
Lizardo himself has submitted a workaround, I'm cleaning this up too -
resolving INVALID. Reopen if necessary.
Comment 4 Hugo Parente Lima 2010-11-25 17:53:37 EET
Released on version 1.0.0~beta1