QAccessibleWidget: replace QString default arg with overload
We should not use defaulted arguments of non-trivial type, because their construction and destruction, even if not passed, is repeated at every call site, producing O(n) executable code. By overloading out-of-line, we execute the same code at runtime, but we have only one copy of the arg construction and destruction, in the library, O(1) executable code production. Found in API-review of QAccessibleWidgetV2. Amends the start of the public history. Can't pick further than (unreleased) 6.10, because this adds a new symbol. Task-number: QTBUG-98117 Change-Id: I705bca764992d9e7a2aa1021e0f94006b6817177 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit ab53b1293122518a512335b94491566305280851) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
4a4d11c178
commit
bbb284cd70
@ -153,15 +153,24 @@ public:
|
|||||||
|
|
||||||
/*!
|
/*!
|
||||||
Creates a QAccessibleWidget object for widget \a w.
|
Creates a QAccessibleWidget object for widget \a w.
|
||||||
\a role and \a name are optional parameters that set the object's
|
\a role is an optional parameter that sets the object's role property.
|
||||||
role and name properties.
|
|
||||||
*/
|
*/
|
||||||
QAccessibleWidget::QAccessibleWidget(QWidget *w, QAccessible::Role role, const QString &name)
|
QAccessibleWidget::QAccessibleWidget(QWidget *w, QAccessible::Role role)
|
||||||
: QAccessibleObject(w)
|
: QAccessibleObject(w)
|
||||||
{
|
{
|
||||||
Q_ASSERT(widget());
|
Q_ASSERT(widget());
|
||||||
d = new QAccessibleWidgetPrivate();
|
d = new QAccessibleWidgetPrivate();
|
||||||
d->role = role;
|
d->role = role;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Creates a QAccessibleWidget object for widget \a w.
|
||||||
|
\a role and \a name are optional parameters that set the object's
|
||||||
|
role and name properties.
|
||||||
|
*/
|
||||||
|
QAccessibleWidget::QAccessibleWidget(QWidget *w, QAccessible::Role role, const QString &name)
|
||||||
|
: QAccessibleWidget(w, role)
|
||||||
|
{
|
||||||
d->name = name;
|
d->name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -490,7 +499,7 @@ QAccessibleWidgetV2::QAccessibleWidgetV2(QWidget *object, QAccessible::Role role
|
|||||||
}
|
}
|
||||||
|
|
||||||
QAccessibleWidgetV2::QAccessibleWidgetV2(QWidget *object, QAccessible::Role role)
|
QAccessibleWidgetV2::QAccessibleWidgetV2(QWidget *object, QAccessible::Role role)
|
||||||
: QAccessibleWidgetV2(object, role, QString())
|
: QAccessibleWidget(object, role)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,7 +19,8 @@ class Q_WIDGETS_EXPORT QAccessibleWidget : public QAccessibleObject,
|
|||||||
public QAccessibleActionInterface
|
public QAccessibleActionInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit QAccessibleWidget(QWidget *o, QAccessible::Role r = QAccessible::Client, const QString& name = QString());
|
explicit QAccessibleWidget(QWidget *o, QAccessible::Role r = QAccessible::Client);
|
||||||
|
explicit QAccessibleWidget(QWidget *o, QAccessible::Role r, const QString& name);
|
||||||
bool isValid() const override;
|
bool isValid() const override;
|
||||||
|
|
||||||
QWindow *window() const override;
|
QWindow *window() const override;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user