summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorRüdiger Timm <rt@openoffice.org>2008-12-15 07:56:35 +0000
committerRüdiger Timm <rt@openoffice.org>2008-12-15 07:56:35 +0000
commit095c77393155dfac5bbf3a62a5fdcabc6f0f93f2 (patch)
tree83befec259253d5abfdf15e4df82068c1e7af8c4 /desktop
parent25f8c711e87a8f8e437e31367fc71da108c4304b (diff)
CWS-TOOLING: integrate CWS macrestart2_DEV300
Diffstat (limited to 'desktop')
-rw-r--r--desktop/prj/d.lst3
-rw-r--r--desktop/source/app/app.cxx27
-rw-r--r--desktop/source/app/makefile.mk4
3 files changed, 33 insertions, 1 deletions
diff --git a/desktop/prj/d.lst b/desktop/prj/d.lst
index 7f5cb144e766..9fed3182f7f1 100644
--- a/desktop/prj/d.lst
+++ b/desktop/prj/d.lst
@@ -12,10 +12,11 @@ mkdir: %_DEST%\bin%_EXT%\odf4ms
..\%__SRC%\bin\soffice.bin %_DEST%\bin%_EXT%\soffice.bin
..\%__SRC%\bin\officeloader.exe %_DEST%\bin%_EXT%\soffice.exe
..\%__SRC%\bin\soffice %_DEST%\bin%_EXT%\soffice.bin
-..\%__SRC%\bin\officeloader %_DEST%\bin%_EXT%\soffice
+..\%__SRC%\bin\soffice %_DEST%\bin%_EXT%\soffice
..\%__SRC%\bin\so\soffice.bin %_DEST%\bin%_EXT%\so\soffice.bin
..\%__SRC%\bin\so\officeloader.exe %_DEST%\bin%_EXT%\so\soffice.exe
..\%__SRC%\bin\so\soffice %_DEST%\bin%_EXT%\so\soffice.bin
+..\%__SRC%\bin\so\soffice %_DEST%\bin%_EXT%\so\soffice
..\%__SRC%\bin\sofficea*.dll %_DEST%\bin%_EXT%\sofficea*.dll
..\%__SRC%\lib\isofficeapp.lib %_DEST%\lib%_EXT%\isofficeapp.lib
..\%__SRC%\lib\libsofficeapp.dylib %_DEST%\lib%_EXT%\libsofficeapp.dylib
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index 39b81cd47076..66be5ffb69cd 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -1059,6 +1059,29 @@ sal_Bool Desktop::SaveTasks()
sal_False);
}
+#ifdef MACOSX
+static void DoRestart()
+{
+ oslProcess process;
+ oslProcessError error;
+ OUString sExecutableFile;
+
+ osl_getExecutableFile( &sExecutableFile.pData );
+
+ error = osl_executeProcess(
+ sExecutableFile.pData,
+ NULL,
+ 0,
+ 0,
+ NULL,
+ NULL,
+ NULL,
+ 0,
+ &process
+ );
+}
+#endif
+
USHORT Desktop::Exception(USHORT nError)
{
// protect against recursive calls
@@ -1146,6 +1169,10 @@ USHORT Desktop::Exception(USHORT nError)
if (m_pLockfile != NULL) {
m_pLockfile->clean();
}
+
+#ifdef MACOSX
+ DoRestart();
+#endif
_exit( ExitHelper::E_CRASH_WITH_RESTART );
}
else
diff --git a/desktop/source/app/makefile.mk b/desktop/source/app/makefile.mk
index 027f45f10b6a..18c2170d3f53 100644
--- a/desktop/source/app/makefile.mk
+++ b/desktop/source/app/makefile.mk
@@ -40,6 +40,10 @@ ENABLE_EXCEPTIONS=TRUE
.INCLUDE : settings.mk
+.IF "$(GUIBASE)"=="aqua"
+CFLAGS+=-x objective-c++
+.ENDIF
+
.IF "$(ENABLE_GNOMEVFS)"=="TRUE"
CFLAGS+=-DGNOME_VFS_ENABLED
.ENDIF