[Libreoffice-commits] .: Branch 'libreoffice-3-4' - setup_native/source

2011-11-25 Thread Fridrich Strba
 setup_native/source/win32/customactions/shellextensions/checkrunningoffice.cxx 
|  205 +-
 setup_native/source/win32/customactions/shellextensions/makefile.mk
|3 
 2 files changed, 27 insertions(+), 181 deletions(-)

New commits:
commit 2408d229104c3e198ce79e72bb89ce360575aa36
Author: Andras Timar ati...@suse.com
Date:   Thu Nov 24 23:10:30 2011 +0100

change logic of IsOfficeRunning custom action fdo#36677

instead of trying to rename a file or folder in
Program Files directory - which is write protected
anyway normally - installer checks the process list,
if there is a process called soffice.bin.

Signed-off-by: Fridrich Å trba fridrich.st...@bluewin.ch

diff --git 
a/setup_native/source/win32/customactions/shellextensions/checkrunningoffice.cxx
 
b/setup_native/source/win32/customactions/shellextensions/checkrunningoffice.cxx
index 0cf8458..3432ddd 100644
--- 
a/setup_native/source/win32/customactions/shellextensions/checkrunningoffice.cxx
+++ 
b/setup_native/source/win32/customactions/shellextensions/checkrunningoffice.cxx
@@ -53,6 +53,10 @@
 #include stdio.h
 #include sal/macros.h
 
+// works with Windows XP as well as with Windows 7
+#define PSAPI_VERSION 1
+#include psapi.h
+
 #include systools/win32/uwinapi.h
 #include ../tools/seterror.hxx
 
@@ -93,201 +97,42 @@ static std::_tstring GetMsiProperty( MSIHANDLE handle, 
const std::_tstring sPro
 return result;
 }
 
-static inline bool IsSetMsiProperty(MSIHANDLE handle, const std::_tstring 
sProperty)
-{   
-std::_tstring value = GetMsiProperty(handle, sProperty);
-return (value.length()  0);
-}
-
-static inline void UnsetMsiProperty(MSIHANDLE handle, const std::_tstring 
sProperty)
+extern C UINT __stdcall IsOfficeRunning( MSIHANDLE handle )
 {
-MsiSetProperty(handle, sProperty.c_str(), NULL);
-}
+std::_tstring sOfficeInstallPath = GetMsiProperty(handle, 
TEXT(INSTALLLOCATION));
+// Property empty - no office installed
+if ( sOfficeInstallPath.length() == 0 )
+return ERROR_SUCCESS;
 
-static inline void SetMsiProperty(MSIHANDLE handle, const std::_tstring 
sProperty)
-{
-MsiSetProperty(handle, sProperty.c_str(), TEXT(1));
-}
+DWORD aProcesses[1024], cbNeeded, cProcesses; /* 1024 processses ought to 
be enough for anybody */
 
-static BOOL MoveFileEx9x( LPCSTR lpExistingFileNameA, LPCSTR lpNewFileNameA, 
DWORD dwFlags )
-{
-BOOL   fSuccess = FALSE;   // assume failure
+if ( !EnumProcesses( aProcesses, sizeof(aProcesses), cbNeeded ) )
+return ERROR_INSTALL_FAILURE;
 
-// Windows 9x has a special mechanism to move files after reboot
+cProcesses = cbNeeded / sizeof(DWORD);
 
-if ( dwFlags  MOVEFILE_DELAY_UNTIL_REBOOT )
+// Check if there is soffice.bin among the processes
+for ( unsigned int i = 0; i  cProcesses; i++ )
 {
-CHAR   szExistingFileNameA[MAX_PATH];
-CHAR   szNewFileNameA[MAX_PATH] = NUL;
-
-// Path names in WININIT.INI must be in short path name form
-
-if ( 
-GetShortPathNameA( lpExistingFileNameA, szExistingFileNameA, 
MAX_PATH ) 
-(!lpNewFileNameA || GetShortPathNameA( lpNewFileNameA, 
szNewFileNameA, MAX_PATH ))
-)
+if( aProcesses[i] != 0 )
 {
-CHAR   szBuffer[32767];// The buffer size must not 
exceed 32K
-DWORD  dwBufLen = GetPrivateProfileSectionA( RENAME_SECTION, 
szBuffer, SAL_N_ELEMENTS(szBuffer), WININIT_FILENAME );
-
-CHAR   szRename[MAX_PATH]; // This is enough for at most 
to times 67 chracters
-strcpy( szRename, szNewFileNameA );
-strcat( szRename, = );
-strcat( szRename, szExistingFileNameA );
-size_t lnRename = strlen(szRename);
-
-if ( dwBufLen + lnRename + 2 = SAL_N_ELEMENTS(szBuffer) )
+TCHAR szProcessName[MAX_PATH] = TEXT(unknown);
+HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | 
PROCESS_VM_READ, FALSE,  aProcesses[i] );
+if (NULL != hProcess )
 {
-CopyMemory( szBuffer[dwBufLen], szRename, lnRename );
-szBuffer[dwBufLen + lnRename ] = 0;
-szBuffer[dwBufLen + lnRename + 1 ] = 0;
-
-fSuccess = WritePrivateProfileSectionA( RENAME_SECTION, 
szBuffer, WININIT_FILENAME );
+HMODULE hMod;
+if ( EnumProcessModules( hProcess, hMod, sizeof(hMod), 
cbNeeded) )
+GetModuleBaseName( hProcess, hMod, szProcessName, 
sizeof(szProcessName)/sizeof(TCHAR) );
 }
-else
-SetLastError( ERROR_BUFFER_OVERFLOW );
-}
-}
-else
-{
-
-fSuccess = MoveFileA( lpExistingFileNameA, lpNewFileNameA );
-
-if ( !fSuccess  GetLastError() != ERROR_ACCESS_DENIED 
-0 != (dwFlags  (MOVEFILE_COPY_ALLOWED | 
MOVEFILE_REPLACE_EXISTING)) )
-{
-  

[Libreoffice-commits] .: Branch 'libreoffice-3-4' - setup_native/source

2011-11-01 Thread Thorsten Behrens
 setup_native/source/mac/ooo/DS_Store |binary
 1 file changed

New commits:
commit 4fc80f9a1dcd3a1705a0e4c2b092a3804ca4b554
Author: Thorsten Behrens tbehr...@suse.com
Date:   Tue Nov 1 14:26:25 2011 +0100

Fix .dmg background image some more.

Signed-off-by: Alexander Thurgood alex.thurg...@gmail.com

diff --git a/setup_native/source/mac/ooo/DS_Store 
b/setup_native/source/mac/ooo/DS_Store
index 9431578..fec0edc 100644
Binary files a/setup_native/source/mac/ooo/DS_Store and 
b/setup_native/source/mac/ooo/DS_Store differ
___
Libreoffice-commits mailing list
Libreoffice-commits@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits