summaryrefslogtreecommitdiffstats
path: root/src/s60main
diff options
context:
space:
mode:
authorRobert Griebl <rgriebl@trolltech.com>2009-06-10 11:46:23 (GMT)
committerRobert Griebl <rgriebl@trolltech.com>2009-06-10 11:46:23 (GMT)
commit7604f8087f88171ef933d8ae08f501467e647338 (patch)
tree51d071f462ed48d0b25884d9f62b8ba11c5dff13 /src/s60main
parent8c265860b41214daade7c8a28237c1e07ea71a3c (diff)
downloadQt-7604f8087f88171ef933d8ae08f501467e647338.zip
Qt-7604f8087f88171ef933d8ae08f501467e647338.tar.gz
Qt-7604f8087f88171ef933d8ae08f501467e647338.tar.bz2
Make Qt exception safer.
Squashed commit of the branch haralds-haralds-qt-s60-topics/topic/exceptions, which also contains the full history. Rev-By: Harald Fernengel Rev-By: Ralf Engels
Diffstat (limited to 'src/s60main')
-rw-r--r--src/s60main/qts60main.cpp1
-rw-r--r--src/s60main/qts60main_mcrt0.cpp10
-rw-r--r--src/s60main/qts60mainapplication.cpp1
-rw-r--r--src/s60main/qts60mainappui.cpp8
-rw-r--r--src/s60main/qts60maindocument.cpp1
5 files changed, 18 insertions, 3 deletions
diff --git a/src/s60main/qts60main.cpp b/src/s60main/qts60main.cpp
index 965c02b..d7daf4a 100644
--- a/src/s60main/qts60main.cpp
+++ b/src/s60main/qts60main.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
// INCLUDE FILES
+#include <exception>
#include <eikstart.h>
#include "qts60mainapplication.h"
diff --git a/src/s60main/qts60main_mcrt0.cpp b/src/s60main/qts60main_mcrt0.cpp
index b7bf1a3..49a47bd 100644
--- a/src/s60main/qts60main_mcrt0.cpp
+++ b/src/s60main/qts60main_mcrt0.cpp
@@ -79,7 +79,15 @@ GLDEF_C TInt QtMainWrapper()
CleanupArrayDelete<char*>::PushL(argv);
CleanupArrayDelete<char*>::PushL(envp);
//Call user(application)'s main
- int ret = CALLMAIN(argc,argv,envp);
+ int ret = 0;
+ try
+ {
+ ret = CALLMAIN(argc, argv, envp);
+ }
+ catch (...)
+ {
+ User::Leave(KErrGeneral);
+ }
CleanupStack::PopAndDestroy(2,argv);
return ret;
}
diff --git a/src/s60main/qts60mainapplication.cpp b/src/s60main/qts60mainapplication.cpp
index 680243f..2fada3d 100644
--- a/src/s60main/qts60mainapplication.cpp
+++ b/src/s60main/qts60mainapplication.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
// INCLUDE FILES
+#include <exception>
#include "qts60maindocument.h"
#include "qts60mainapplication.h"
#include <bautils.h>
diff --git a/src/s60main/qts60mainappui.cpp b/src/s60main/qts60mainappui.cpp
index 47312af..50f7572 100644
--- a/src/s60main/qts60mainappui.cpp
+++ b/src/s60main/qts60mainappui.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
// INCLUDE FILES
+#include <exception>
#include <avkon.hrh>
#include <eikmenub.h>
#include <eikmenup.h>
@@ -123,7 +124,9 @@ void CQtS60MainAppUi::HandleWsEventL(const TWsEvent& aEvent, CCoeControl *contro
{
int result = 0;
if (qApp)
- result = qApp->s60ProcessEvent(const_cast<TWsEvent*>(&aEvent));
+ QT_TRANSLATE_EXCEPTION_TO_SYMBIAN_LEAVE(
+ result = qApp->s60ProcessEvent(const_cast<TWsEvent*>(&aEvent))
+ );
if (result <= 0)
CAknAppUi::HandleWsEventL(aEvent, control);
@@ -162,7 +165,8 @@ TInt CQtS60MainAppUi::OpenCMainStaticCallBack( TAny* aObject )
//
void CQtS60MainAppUi::OpenCMainCallBack()
{
- TInt ret = QtMainWrapper();
+ TInt ret;
+ TRAPD(err, ret = QtMainWrapper());
Exit();
}
diff --git a/src/s60main/qts60maindocument.cpp b/src/s60main/qts60maindocument.cpp
index b4a2e66..eb7ea42 100644
--- a/src/s60main/qts60maindocument.cpp
+++ b/src/s60main/qts60maindocument.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
// INCLUDE FILES
+#include <exception>
#include "qts60mainappui.h"
#include "qts60maindocument.h"