Kaydet (Commit) f780a64a authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Consistently have both copy functions for utl::ConfigurationBroadcaster

The ctor was added with d1e47b14 "enhance
useuniqueptr loplugin" apparently because it was needed and the implicitly
declared one stareted to be defined as deleted, while the assignment op was
left implicitly defined as deleted (presumably because it wasn't needed anyway).

Adding a non-deleted definition of the assignment op probably is a good move
towards consistency, and was assumed it could help avoid new Clang trunk
-Werror,-Wdefaulted-function-deleted in derived ConfigItem
(include/unotools/configitem.hxx), but which appears not to be the case.

And ConfigurationBroadcaster can't easily switch from copy to move semantics, as
SdOptionsLayoutItem::Clone needs SdOptionsLayoutItem copy ctor needs
SdOptionsLayout copy ctor needs SdOptionsGeneric copy ctor needs
SdOptionsItem copy ctor needs utl::ConfigItem copy ctor needs
utl::ConfigurationBroadcaster copy ctor.

Change-Id: Ie1f4e72eacb9b6b776103c4cf04a959acfa6648f
Reviewed-on: https://gerrit.libreoffice.org/61208
Tested-by: Jenkins
Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
üst f4103a42
......@@ -80,6 +80,7 @@ namespace utl {
ConfigurationBroadcaster();
ConfigurationBroadcaster(ConfigurationBroadcaster const & );
virtual ~ConfigurationBroadcaster();
ConfigurationBroadcaster & operator =(ConfigurationBroadcaster const & other);
virtual void BlockBroadcasts( bool bBlock );
};
......
......@@ -42,6 +42,18 @@ ConfigurationBroadcaster::~ConfigurationBroadcaster()
{
}
ConfigurationBroadcaster & ConfigurationBroadcaster::operator =(
ConfigurationBroadcaster const & other)
{
if (&other != this) {
mpList.reset(
other.mpList == nullptr ? nullptr : new IMPL_ConfigurationListenerList(*other.mpList));
m_nBroadcastBlocked = other.m_nBroadcastBlocked;
m_nBlockedHint = other.m_nBlockedHint;
}
return *this;
}
void ConfigurationBroadcaster::AddListener( utl::ConfigurationListener* pListener )
{
if ( !mpList )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment