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.
|
||||
\a role and \a name are optional parameters that set the object's
|
||||
role and name properties.
|
||||
\a role is an optional parameter that sets the object's role property.
|
||||
*/
|
||||
QAccessibleWidget::QAccessibleWidget(QWidget *w, QAccessible::Role role, const QString &name)
|
||||
QAccessibleWidget::QAccessibleWidget(QWidget *w, QAccessible::Role role)
|
||||
: QAccessibleObject(w)
|
||||
{
|
||||
Q_ASSERT(widget());
|
||||
d = new QAccessibleWidgetPrivate();
|
||||
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;
|
||||
}
|
||||
|
||||
@ -490,7 +499,7 @@ 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:
|
||||
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;
|
||||
|
||||
QWindow *window() const override;
|
||||
|
Loading…
x
Reference in New Issue
Block a user