[Development] Header diff for QtGui
Thiago Macieira
thiago.macieira at intel.com
Wed Jun 26 23:44:48 CEST 2013
One issue found:
On quarta-feira, 26 de junho de 2013 13.49.40, Thiago Macieira wrote:
> class Q_GUI_EXPORT QAccessibleInterface
> {
> +protected:
> + virtual ~QAccessibleInterface();
> +
> public:
> - virtual ~QAccessibleInterface() {}
SC/BC BREAK
Change in protection level is not acceptable (MSVC and Sun CC mangle the
protection level). The constructors are public, so it's possible to derive
from this class.
The destructor should go back to public.
This is also an SC break, because it makes it impossible to delete a
QAccessibleInterface.
The rest are comments:
> class Q_GUI_EXPORT QAccessible
> -#ifndef qdoc
> - :public QObject
> -#endif
> {
> - Q_OBJECT
> - Q_ENUMS(Role Event State)
> + Q_GADGET
> + Q_ENUMS(Role Event)
Acceptable because QAccessible's only constructor is private. The change in
class size and vtable will not affect anyone.
The change from Q_OBJECT to Q_GADGET means the virtual functions are gone now
(qt_metacall, qt_metacast, metaObject), but no one could call them before
either.
The tr() functions are gone too. That's the only question I have, because it
was possible to call:
QAccessible::tr("Hello");
Opinions?
> --- a/src/gui/kernel/qwindow.h
> +++ b/src/gui/kernel/qwindow.h
> @@ -261,10 +286,12 @@ public Q_SLOTS:
> void setWidth(int arg);
> void setHeight(int arg);
>
> - void setMinimumWidth(int w);
> - void setMinimumHeight(int h);
> - void setMaximumWidth(int w);
> - void setMaximumHeight(int h);
> + Q_REVISION(1) void setMinimumWidth(int w);
> + Q_REVISION(1) void setMinimumHeight(int h);
> + Q_REVISION(1) void setMaximumWidth(int w);
> + Q_REVISION(1) void setMaximumHeight(int h);
The meta object system doesn't care about Q_REVISION. It will simply extract
the information. So this is neither BIC nor SIC.
However, the information is relevant to QML. QML experts, please comment on
whether the change above is safe.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/development/attachments/20130626/4afc63fe/attachment.sig>
More information about the Development
mailing list