rpms/openoffice.org/F-11 openoffice.org-3.1.0.ooo101379.vcl.qstart.SM.patch, NONE, 1.1 openoffice.org.spec, 1.1900, 1.1901

Caolan McNamara caolanm at fedoraproject.org
Mon Apr 27 14:08:30 UTC 2009


Author: caolanm

Update of /cvs/pkgs/rpms/openoffice.org/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv16960/F-11

Modified Files:
	openoffice.org.spec 
Added Files:
	openoffice.org-3.1.0.ooo101379.vcl.qstart.SM.patch 
Log Message:
Resolves: rhbz#491159 openoffice.org-3.1.0.ooo101379.vcl.qstart.SM.patch

openoffice.org-3.1.0.ooo101379.vcl.qstart.SM.patch:

--- NEW FILE openoffice.org-3.1.0.ooo101379.vcl.qstart.SM.patch ---
diff -ru vcl.orig/unx/source/app/sm.cxx vcl/unx/source/app/sm.cxx
--- vcl.orig/unx/source/app/sm.cxx	2009-04-27 08:31:01.000000000 +0100
+++ vcl/unx/source/app/sm.cxx	2009-04-27 14:38:55.000000000 +0100
@@ -48,6 +48,7 @@
 #include <saldisp.hxx>
 #include <salframe.h>
 #include <vcl/svapp.hxx>
+#include <vcl/window.hxx>
 #include <salinst.h>
 
 #include <osl/conditn.h>
@@ -187,6 +188,7 @@
 static SmProp*	pSmProps = NULL;
 static SmProp**	ppSmProps = NULL;
 static int		nSmProps = 0;
+static unsigned char   *pSmRestartHint = NULL;
 
 
 static void BuildSmPropertyList()
@@ -195,7 +197,7 @@
 	{
 		ByteString aExec( SessionManagerClient::getExecName(), osl_getThreadTextEncoding() );
 
-		nSmProps = 4;
+		nSmProps = 5;
 		pSmProps = new SmProp[ nSmProps ];
 
 		pSmProps[ 0 ].name		= const_cast<char*>(SmCloneCommand);
@@ -243,6 +245,15 @@
 		pSmProps[ 3 ].vals->value	= strdup( aUser.getStr() );
 		pSmProps[ 3 ].vals->length	= strlen( (char *)pSmProps[ 3 ].vals->value )+1;
 
+		pSmProps[ 4 ].name		= const_cast<char*>(SmRestartStyleHint);
+		pSmProps[ 4 ].type		= const_cast<char*>(SmCARD8);
+		pSmProps[ 4 ].num_vals	= 1;
+		pSmProps[ 4 ].vals		= new SmPropValue;
+		pSmProps[ 4 ].vals->value	= malloc(1);
+		pSmRestartHint = (unsigned char *)pSmProps[ 4 ].vals->value;
+		*pSmRestartHint = SmRestartIfRunning;
+		pSmProps[ 4 ].vals->length	= 1;
+
 		ppSmProps = new SmProp*[ nSmProps ];
 		for( int i = 0; i < nSmProps; i++ )
 			ppSmProps[ i ] = &pSmProps[i];
@@ -257,6 +268,31 @@
 IMPL_STATIC_LINK( SessionManagerClient, SaveYourselfHdl, void*, EMPTYARG )
 {
     SMprintf( "posting save documents event shutdown = %s\n", (pThis!=0) ? "true" : "false" );
+
+    static bool bFirstShutdown=true;
+    if (pThis != 0 && bFirstShutdown) //first shutdown request
+    {
+        bFirstShutdown = false;
+        /*
+          If we have no actual frames open, e.g. we launched a quickstarter,
+          and then shutdown all our frames leaving just a quickstarter running,
+          then we don't want to launch an empty toplevel frame on the next 
+          start. (The job of scheduling the restart of the quick-starter is a 
+          task of the quick-starter)
+        */
+        *pSmRestartHint = SmRestartNever;
+        const std::list< SalFrame* >& rFrames = GetX11SalData()->GetDisplay()->getFrames();
+        for( std::list< SalFrame* >::const_iterator it = rFrames.begin(); it != rFrames.end(); ++it )
+        {
+            Window *pWindow = (*it)->GetWindow();
+            if (pWindow && pWindow->IsVisible())
+            {
+                *pSmRestartHint = SmRestartIfRunning;
+                break;
+            }
+        }
+    }
+
     if( pOneInstance )
     {
         SalSessionSaveRequestEvent aEvent( pThis != 0, false );
@@ -385,7 +421,7 @@
         ICEConnectionObserver::lock();
         SmcSetProperties( aSmcConnection, nSmProps, ppSmProps );
         SmcSaveYourselfDone( aSmcConnection, True );
-        SMprintf( "sent SaveYourselfDone\n" );
+        SMprintf( "sent SaveYourselfDone SmRestartHint of %d\n", *pSmRestartHint );
         bDocSaveDone = true;
         ICEConnectionObserver::unlock();
     }


Index: openoffice.org.spec
===================================================================
RCS file: /cvs/pkgs/rpms/openoffice.org/F-11/openoffice.org.spec,v
retrieving revision 1.1900
retrieving revision 1.1901
diff -u -r1.1900 -r1.1901
--- openoffice.org.spec	27 Apr 2009 10:51:07 -0000	1.1900
+++ openoffice.org.spec	27 Apr 2009 14:07:59 -0000	1.1901
@@ -1,6 +1,6 @@
 %define oootag OOO310
 %define ooomilestone 11
-%define rh_rpm_release 1
+%define rh_rpm_release 2
 
 # rhbz#465664 jar-repacking breaks help by reordering META-INF/MANIFEST.MF
 %define __jar_repack %{nil}
@@ -137,6 +137,7 @@
 Patch62: openoffice.org-3.1.0.ooo101274.opening-a-directory.patch
 Patch63: openoffice.org-3.1.0.ooo101354.filter.xhtml.do-not-label-list-headers.patch
 Patch64: openoffice.org-3.1.0.ooo101355.filter.no-variables-in-keys.patch
+Patch65: openoffice.org-3.1.0.ooo101379.vcl.qstart.SM.patch
 
 %define python_py_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(0)")
 %define instdir %{_libdir}
@@ -1632,6 +1633,7 @@
 %patch62 -p0 -b .ooo101274.opening-a-directory.patch
 %patch63 -p0 -b .ooo101354.filter.xhtml.do-not-label-list-headers.patch
 %patch64 -p0 -b .ooo101355.filter.no-variables-in-keys.patch
+%patch65 -p0 -b .ooo101379.vcl.qstart.SM.patch
 
 %build
 echo build start time is `date`, diskspace: `df -h . | tail -n 1`
@@ -2240,8 +2242,10 @@
 echo "TryExec=oowriter" >> writer.desktop
 echo "TryExec=oomath" >> math.desktop
 echo "TryExec=oodraw" >> draw.desktop
-# rh#156677# / rh#186515#
+# rhbz#156677# / rhbz#186515#
 echo "NoDisplay=true" >> math.desktop
+# rhbz#491159 temporarily remove NoDisplay=true from qstart.desktop
+sed -i -e "/NoDisplay=true/d" qstart.desktop
 # relocate the .desktop and icon files
 mkdir -p $RPM_BUILD_ROOT/%{_datadir}/applications
 cp -p base.desktop $RPM_BUILD_ROOT/%{_datadir}/applications/openoffice.org-base.desktop
@@ -2308,8 +2312,10 @@
 echo "StartupNotify=true" >> writer.desktop
 echo "StartupNotify=true" >> math.desktop
 echo "StartupNotify=true" >> draw.desktop
-# rh#156677# / rh#186515#
+# rhbz#156677# / rhbz#186515#
 echo "NoDisplay=true" >> math.desktop
+# rhbz#491159 temporarily remove NoDisplay=true from qstart.desktop
+sed -i -e "/NoDisplay=true/d" qstart.desktop
 # relocate the .desktop and icon files
 mkdir -p $RPM_BUILD_ROOT/%{_datadir}/applications
 cp -p base.desktop $RPM_BUILD_ROOT/%{_datadir}/applications/broffice.org-base.desktop
@@ -4126,14 +4132,17 @@
     unopkg list --shared > /dev/null 2>&1 || :
 
 %changelog
+* Mon Apr 27 2009 Caolán McNamara <caolanm at redhat.com> - 1:3.1.0-11.2-UNRELEASED
+- Resolves: rhbz#484177 openoffice.org-3.1.0.ooo101354.filter.xhtml.do-not-label-list-headers.patch
+- add openoffice.org-3.1.0.ooo101355.filter.no-variables-in-keys.patch
+- Resolves: rhbz#491159 openoffice.org-3.1.0.ooo101379.vcl.qstart.SM.patch
+
 * Fri Apr 24 2009 Caolán McNamara <caolanm at redhat.com> - 1:3.1.0-11.1
 - add openoffice.org-3.1.0.ooo90439.sfx2.qstart.hackaround.patch
 - add openoffice.org-3.1.0.ooo101159.ww8.export.commentfields.patch
 - Resolves: rhbz#473985 - "oocalc this-is-a-dir" finishes immediately
    + add openoffice.org-3.1.0-ooo101274.opening-a-directory.patch
 - silence stupid survey dialog
-- Resolves: rhbz#484177 openoffice.org-3.1.0.ooo101354.filter.xhtml.do-not-label-list-headers.patch
-- add openoffice.org-3.1.0.ooo101355.filter.no-variables-in-keys.patch
 
 * Sun Apr 19 2009 Caolán McNamara <caolanm at redhat.com> - 1:3.1.0-10.2
 - Resolves: rhbz#496280 ooo#101184 dynamically detect multiple monitors




More information about the scm-commits mailing list