Introduces a crash handler for SIP Communicator on Windows which asks after a crash whether the application is to be relaunched.

cusax-fix
Lyubomir Marinov 15 years ago
parent 89eabf98b8
commit 4ff9fde938

@ -58,7 +58,7 @@
classname="net.charabia.jsmoothgen.ant.JSmoothGen"
classpath="${inst.resrc}/windows/jsmoothgen-ant.jar"/>
</target>
<target name="windows-generate-exe" depends="define-jsmooth-task"
<!--target name="windows-generate-exe" depends="define-jsmooth-task"
if="application.home.dirname">
<copy file="${inst.resrc}/windows/run.exe.jsmooth"
@ -80,6 +80,17 @@
skeletonroot="${inst.resrc}/windows/skeletons"/>
<delete file="${inst.resrc}/windows/tmp.run.exe.jsmooth"/>
</target-->
<target name="windows-generate-exe">
<exec
executable="make"
dir="${src}/native/windows/run"
failonerror="true">
<arg value="PRODUCTNAME=${application.name}" />
<arg value="MINGW_HOME=${mingw.home}" />
<arg value="TARGET_DIR=${inst.resrc}/windows" />
</exec>
<delete file="${inst.resrc}/windows/run.res"/>
</target>
<target name="-prepare-debian-sh"

@ -0,0 +1,43 @@
#
# SIP Communicator, the OpenSource Java VoIP and Instant Messaging client.
#
# Distributable under LGPL license.
# See terms of license at gnu.org.
#
MINGW_HOME ?= C:/mingw
TARGET_BASENAME ?= run
TARGET_DIR ?= ../../../../release/windows/tmp
ifeq ($(wildcard /bin/cygpath.*),/bin/cygpath.exe)
target.dir := $(shell cygpath --mixed "$(TARGET_DIR)")
cygwin.target.dir := $(shell cygpath --unix "$(TARGET_DIR)")
else
target.dir := "$(TARGET_DIR)"
cygwin.target.dir := "$(TARGET_DIR)"
endif
CC = $(MINGW_HOME)/bin/gcc
CPPFLAGS := $(CPPFLAGS) \
-O2 \
-Wall -Wreturn-type \
-DPRODUCTNAME='"$(PRODUCTNAME)"' \
-DPSAPI_VERSION=1 \
-DWINVER=0x0502 -D_WIN32_WINNT=0x0502
LDFLAGS = -mwindows
LIBS = -lpsapi
MACHINE = $(shell $(CC) -dumpmachine)
WINDRES = $(MINGW_HOME)/bin/windres
ifneq ("x$(MACHINE)","x")
ifeq ($(wildcard $(MINGW_HOME)/bin/$(MACHINE)-windres.*),$(MINGW_HOME)/bin/$(MACHINE)-windres.exe)
WINDRES = $(MINGW_HOME)/bin/$(MACHINE)-windres
endif
endif
$(cygwin.target.dir)/$(TARGET_BASENAME).exe: run.c $(cygwin.target.dir)/run.res
$(CC) $(CPPFLAGS) run.c "$(target.dir)/run.res" $(LDFLAGS) -o "$(target.dir)/$(TARGET_BASENAME).exe" $(LIBS)
-$(MINGW_HOME)/$(MACHINE)/bin/strip "$(target.dir)/$(TARGET_BASENAME).exe"
$(cygwin.target.dir)/run.res: run.rc
$(WINDRES) -I../../../../resources/install/windows $^ -O coff -o "$(target.dir)/run.res"

File diff suppressed because it is too large Load Diff

@ -0,0 +1,20 @@
/*
* SIP Communicator, the OpenSource Java VoIP and Instant Messaging client.
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
#ifndef _NET_JAVA_SIP_COMMUNICATOR_RUN_H_
#define _NET_JAVA_SIP_COMMUNICATOR_RUN_H_
#include <windows.h>
#define IDS_CRASHANDRELAUNCH 1
#define IDS_JAVANOTFOUND 2
#ifndef PRODUCTNAME
#define PRODUCTNAME "SIP Communicator"
#endif /* #ifndef PRODUCTNAME */
#endif /* _NET_JAVA_SIP_COMMUNICATOR_RUN_H_ */

@ -0,0 +1,41 @@
/*
* SIP Communicator, the OpenSource Java VoIP and Instant Messaging client.
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
#include "run.h"
SCLogoIcon ICON sc-logo.ico
STRINGTABLE
BEGIN
IDS_CRASHANDRELAUNCH "Ouch, it seems %1 has crashed!\012\012Relaunch it?"
IDS_JAVANOTFOUND "A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run %1."
END
1 VERSIONINFO
FILEVERSION 0,0,0,0
FILETYPE VFT_APP
PRODUCTVERSION 0,0,0,0
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904E4"
BEGIN
VALUE "Comments", ""
VALUE "CompanyName", "sip-communicator.org"
VALUE "FileDescription", "SIP Communicator"
VALUE "FileVersion", "0.0.0.0"
VALUE "InternalName", "run"
VALUE "OriginalFilename", "run.exe"
VALUE "ProductName", PRODUCTNAME
VALUE "ProductVersion", "0.0.0.0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0409, 1252
END
END
Loading…
Cancel
Save