Related: rhbz#702833 addEventListener without removeEventListener

f41
Caolán McNamara 14 years ago
parent bb23ced147
commit b8e761b438

@ -0,0 +1,54 @@
From 6f42aa185adc436d976da04b8b193dfe25d61f7a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Fri, 17 Jun 2011 13:38:27 +0100
Subject: [PATCH] Related: rhbz#702833 addEventListener without
removeEventListener
---
.../source/deployment/gui/dp_gui_extlistbox.cxx | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx
index 8cdf0a6..3d0d426 100644
--- a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx
+++ b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx
@@ -970,18 +970,20 @@ long ExtensionBox_Impl::addEntry( const uno::Reference< deployment::XPackage > &
if ( ! pEntry->m_sTitle.Len() )
return 0;
- xPackage->addEventListener( uno::Reference< lang::XEventListener > ( m_xRemoveListener, uno::UNO_QUERY ) );
+ bool bNewEntryInserted = false;
::osl::ClearableMutexGuard guard(m_entriesMutex);
if ( m_vEntries.empty() )
{
m_vEntries.push_back( pEntry );
+ bNewEntryInserted = true;
}
else
{
if ( !FindEntryPos( pEntry, 0, m_vEntries.size()-1, nPos ) )
{
m_vEntries.insert( m_vEntries.begin()+nPos, pEntry );
+ bNewEntryInserted = true;
}
else if ( !m_bInCheckMode )
{
@@ -989,6 +991,14 @@ long ExtensionBox_Impl::addEntry( const uno::Reference< deployment::XPackage > &
}
}
+ //Related: rhbz#702833 Only add a Listener if we're adding a new entry, to
+ //keep in sync with removeEventListener logic
+ if (bNewEntryInserted)
+ {
+ pEntry->m_xPackage->addEventListener(uno::Reference< lang::XEventListener > ( m_xRemoveListener, uno::UNO_QUERY ) );
+ }
+
+
pEntry->m_bHasOptions = m_pManager->supportsOptions( xPackage );
pEntry->m_bUser = xPackage->getRepositoryName().equals( USER_PACKAGE_MANAGER );
pEntry->m_bShared = xPackage->getRepositoryName().equals( SHARED_PACKAGE_MANAGER );
--
1.7.5.4

@ -19,7 +19,7 @@ Summary: Free Software Productivity Suite
Name: libreoffice
Epoch: 1
Version: 3.4.1.1
Release: 2%{?dist}
Release: 3%{?dist}
License: LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and (CDDL or GPLv2) and Public Domain
Group: Applications/Productivity
URL: http://www.documentfoundation.org/develop
@ -94,6 +94,7 @@ Patch15: 0001-rhbz-702635-set-correct-page-number-when-exporting-s.patch
Patch16: 0001-handle-NULL-display-gracefully.patch
Patch17: 0001-Related-rhbz-652604-better-survive-exceptions-thrown.patch
Patch18: 0001-Resolves-rhbz-713154-pdf-export-dialog-too-tall-to-f.patch
Patch19: 0001-Related-rhbz-702833-addEventListener-without-removeE.patch
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
%define instdir %{_libdir}
@ -713,6 +714,7 @@ mv -f redhat.soc extras/source/palettes/standard.soc
%patch16 -p1 -b .handle-NULL-display-gracefully.patch
%patch17 -p1 -b .rhbz652604-better-survive-exceptions-thrown.patch
%patch18 -p1 -b .rhbz713154-pdf-export-dialog-too-tall-to-f.patch
%patch19 -p1 -b .rhbz702833-addEventListener-without-removeE.patch
# these are horribly incomplete--empty translations and copied english
# strings with spattering of translated strings
@ -1993,6 +1995,9 @@ update-desktop-database %{_datadir}/applications &> /dev/null || :
%{basisinstdir}/program/kde-open-url
%changelog
* Fri Jun 17 2011 Caolán McNamara <caolanm@redhat.com> - 3.4.1.1-3
- Related: rhbz#702833 addEventListener without removeEventListener
* Thu Jun 16 2011 Caolán McNamara <caolanm@redhat.com> - 3.4.1.1-2
- Resolves: rhbz#713154 pdf export dialog too tall to fit

Loading…
Cancel
Save