[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebase/runtime/drkonqi
From:       George Kiagiadakis <kiagiadakis.george () gmail ! com>
Date:       2010-08-18 18:46:17
Message-ID: 20100818184617.53659AC855 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1165285 by gkiagia:

Translate the windows error codes to strings.


 M  +28 -3     crashedapplication.cpp  


--- trunk/KDE/kdebase/runtime/drkonqi/crashedapplication.cpp #1165284:1165285
@@ -19,13 +19,17 @@
 #include <KToolInvocation>
 
 #include <config-drkonqi.h>
-#ifdef HAVE_STRSIGNAL
+#if defined(HAVE_STRSIGNAL) && defined(Q_OS_UNIX)
 # include <clocale>
 # include <cstring>
 # include <cstdlib>
 #else
+# if defined(Q_OS_UNIX)
 # include <signal.h>
+# else
+#  include <windows.h>
 #endif
+#endif
 
 CrashedApplication::CrashedApplication(QObject *parent)
     : QObject(parent), m_restarted(false)
@@ -77,7 +81,7 @@
 
 QString CrashedApplication::signalName() const
 {
-#ifdef HAVE_STRSIGNAL
+#if defined(HAVE_STRSIGNAL) && defined(Q_OS_UNIX)
     const char * oldLocale = std::setlocale(LC_MESSAGES, NULL);
     char * savedLocale;
     if (oldLocale) {
@@ -92,12 +96,33 @@
     return QString::fromLocal8Bit(name != NULL ? name : "Unknown");
 #else
     switch (m_signalNumber) {
+# if defined(Q_OS_UNIX)
     case SIGILL: return QLatin1String("SIGILL");
     case SIGABRT: return QLatin1String("SIGABRT");
     case SIGFPE: return QLatin1String("SIGFPE");
     case SIGSEGV: return QLatin1String("SIGSEGV");
-#ifdef SIGBUS
     case SIGBUS: return QLatin1String("SIGBUS");
+# else
+    case EXCEPTION_ACCESS_VIOLATION: return QLatin1String("EXCEPTION_ACCESS_VIOLATION");
+    case EXCEPTION_DATATYPE_MISALIGNMENT: return QLatin1String("EXCEPTION_DATATYPE_MISALIGNMENT");
+    case EXCEPTION_BREAKPOINT: return QLatin1String("EXCEPTION_BREAKPOINT");
+    case EXCEPTION_SINGLE_STEP: return QLatin1String("EXCEPTION_SINGLE_STEP");
+    case EXCEPTION_ARRAY_BOUNDS_EXCEEDED: return QLatin1String("EXCEPTION_ARRAY_BOUNDS_EXCEEDED");
+    case EXCEPTION_FLT_DENORMAL_OPERAND: return QLatin1String("EXCEPTION_FLT_DENORMAL_OPERAND");
+    case EXCEPTION_FLT_DIVIDE_BY_ZERO: return QLatin1String("EXCEPTION_FLT_DIVIDE_BY_ZERO");
+    case EXCEPTION_FLT_INEXACT_RESULT: return QLatin1String("EXCEPTION_FLT_INEXACT_RESULT");
+    case EXCEPTION_FLT_INVALID_OPERATION: return QLatin1String("EXCEPTION_FLT_INVALID_OPERATION");
+    case EXCEPTION_FLT_OVERFLOW: return QLatin1String("EXCEPTION_FLT_OVERFLOW");
+    case EXCEPTION_FLT_STACK_CHECK: return QLatin1String("EXCEPTION_FLT_STACK_CHECK");
+    case EXCEPTION_FLT_UNDERFLOW: return QLatin1String("EXCEPTION_FLT_UNDERFLOW");
+    case EXCEPTION_INT_DIVIDE_BY_ZERO: return QLatin1String("EXCEPTION_INT_DIVIDE_BY_ZERO");
+    case EXCEPTION_INT_OVERFLOW: return QLatin1String("EXCEPTION_INT_OVERFLOW");
+    case EXCEPTION_PRIV_INSTRUCTION: return QLatin1String("EXCEPTION_PRIV_INSTRUCTION");
+    case EXCEPTION_IN_PAGE_ERROR: return QLatin1String("EXCEPTION_IN_PAGE_ERROR");
+    case EXCEPTION_ILLEGAL_INSTRUCTION: return QLatin1String("EXCEPTION_ILLEGAL_INSTRUCTION");
+    case EXCEPTION_NONCONTINUABLE_EXCEPTION: return QLatin1String("EXCEPTION_NONCONTINUABLE_EXCEPTION");
+    case EXCEPTION_STACK_OVERFLOW: return QLatin1String("EXCEPTION_STACK_OVERFLOW");
+    case EXCEPTION_INVALID_DISPOSITION: return QLatin1String("EXCEPTION_INVALID_DISPOSITION");
 #endif
     default: return QLatin1String("Unknown");
     }
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic