[openoffice.org/f14/master] Related: rhbz#650170 don't crash when quickstarter is exited by user

David Tardon dtardon at fedoraproject.org
Tue Nov 23 09:32:36 UTC 2010


commit e660043a2f68b0cee72198e8a59ee094fe53a626
Author: David Tardon <dtardon at redhat.com>
Date:   Tue Nov 23 10:32:34 2010 +0100

    Related: rhbz#650170 don't crash when quickstarter is exited by user

 openoffice.org.spec                    |    6 +++++-
 rhbz650170.quickstarter.safeexit.patch |   19 +++++++++++++++++++
 2 files changed, 24 insertions(+), 1 deletions(-)
---
diff --git a/openoffice.org.spec b/openoffice.org.spec
index 2bfed45..3ce2aef 100644
--- a/openoffice.org.spec
+++ b/openoffice.org.spec
@@ -1,6 +1,6 @@
 %define oootag OOO330
 %define ooomilestone 16
-%define rh_rpm_release 2
+%define rh_rpm_release 3
 
 # rhbz#465664 jar-repacking breaks help by reordering META-INF/MANIFEST.MF
 %define __jar_repack %{nil}
@@ -3868,6 +3868,10 @@ unopkg remove --shared org.openoffice.legacy.ScriptProviderForPython.zip > /dev/
 %endif
 
 %changelog
+* Tue Nov 23 2010 Caolán McNamara <caolanm at redhat.com>- 1:3.3.0-16.3
+- Related: rhbz#650170 don't crash when quickstarter is exited by user
+  (dtardon)
+
 * Mon Nov 22 2010 Caolán McNamara <caolanm at redhat.com>- 1:3.3.0-16.2
 - Resolves: rhbz#652504 [abrt] VbaEventsHelperBase::processVbaEvent
 
diff --git a/rhbz650170.quickstarter.safeexit.patch b/rhbz650170.quickstarter.safeexit.patch
index e186ef2..cf1f174 100644
--- a/rhbz650170.quickstarter.safeexit.patch
+++ b/rhbz650170.quickstarter.safeexit.patch
@@ -108,3 +108,22 @@
  }
  
  void SAL_DLLPUBLIC_EXPORT plugin_shutdown_sys_tray()
+@@ -404,8 +410,17 @@
+ 	::vos::OGuard aGuard( Application::GetSolarMutex() );
+ 	if( !pTrayIcon )
+ 		return;
+-	gtk_widget_destroy( GTK_WIDGET( pTrayIcon ) );
++
++    /* we have to set pTrayIcon to NULL now, because gtk_widget_destroy
++     * causes calling exit_quickstarter_cb (which then calls this func.)
++     * again -> crash.
++     * As an alternative, we could deregister the "destroy" signal here,
++     * but this is simpler .-)
++     */
++    GtkWidget* const pIcon = GTK_WIDGET( pTrayIcon );
+ 	pTrayIcon = NULL;
++	gtk_widget_destroy( pIcon );
++
+ 	pExitMenuItem = NULL;
+ 	pOpenMenuItem = NULL;
+ 	pDisableMenuItem = NULL;


More information about the scm-commits mailing list