Tidy up and expand QSharedPointer documentation.

Also adds the 5.4.0 changes file.

Change-Id: I10967ca179b91229e7d1ee0fc666bbd8dbe54425
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Mitch Curtis 2014-06-30 09:56:26 +02:00
parent 7021188778
commit b398515b09
2 changed files with 50 additions and 3 deletions

26
dist/changes-5.4.0 vendored Normal file
View File

@ -0,0 +1,26 @@
Qt 5.4 introduces many new features and improvements as well as bugfixes
over the 5.3.x series. For more details, refer to the online documentation
included in this distribution. The documentation is also available online:
http://qt-project.org/doc/qt-5.4
The Qt version 5.4 series is binary compatible with the 5.3.x series.
Applications compiled for 5.3 will continue to run with 5.4.
Some of the changes listed in this file include issue tracking numbers
corresponding to tasks in the Qt Bug Tracker:
http://bugreports.qt-project.org/
Each of these identifiers can be entered in the bug tracker to obtain more
information about a particular change.
****************************************************************************
* Library *
****************************************************************************
QtCore
------
- Added QEnableSharedFromThis, a class that allows obtaining a
QSharedPointer for an object already managed by a shared pointer.

View File

@ -374,12 +374,12 @@
/*!
\class QEnableSharedFromThis
\inmodule QtCore
\brief A base class that allows to obtain a QSharedPointer for an object already managed by a shared pointer
\brief A base class that allows obtaining a QSharedPointer for an object already managed by a shared pointer
\since 5.4
You can inherit this class when you need to create a QSharedPointer
from any instance of a class -- for instance, from within the
object itself. The key point is that the "obvious" technique of
from any instance of a class; for instance, from within the
object itself. The key point is that the technique of
just returning QSharedPointer<T>(this) can not be used, because
this winds up creating multiple distinct QSharedPointer objects
with separate reference counts. For this reason you must never
@ -406,6 +406,27 @@
Q_ASSERT(p == y); // p and q must share ownership
}
\endcode
It is also possible to get a shared pointer from an object outside of
the class itself. This is especially useful in code that provides an
interface to scripts, where it is currently not possible to use shared
pointers. For example:
\code
class ScriptInterface : public QObject
{
Q_OBJECT
// ...
public slots:
void slotCalledByScript(Y *managedBySharedPointer)
{
QSharedPointer<Y> yPtr = managedBySharedPointer->sharedFromThis();
// Some other code unrelated to scripts that expects a QSharedPointer<Y> ...
}
};
\endcode
*/
/*!