-rw-r--r-- | libopie2/opiecore/oapplication.cpp | 12 | ||||
-rw-r--r-- | libopie2/opiecore/oapplication.h | 2 |
2 files changed, 13 insertions, 1 deletions
diff --git a/libopie2/opiecore/oapplication.cpp b/libopie2/opiecore/oapplication.cpp index 7a6c174..06d8ba2 100644 --- a/libopie2/opiecore/oapplication.cpp +++ b/libopie2/opiecore/oapplication.cpp @@ -31,6 +31,9 @@ #include <opie2/oapplication.h> #include <opie2/oconfig.h> +#include <signal.h> +#include <stdio.h> + OApplication* OApplication::_instance = 0; /**************************************************************************************************/ @@ -85,6 +88,15 @@ void OApplication::init() if ( !OApplication::_instance ) { OApplication::_instance = this; + + /* register SIGSEGV handler to give programs an option + * to exit gracefully, e.g. save or close devices or files. + struct sigaction sa; + sa.sa_handler = ( void (*)(int) ) &segv_handler; + sa.sa_flags = SA_SIGINFO | SA_RESTART; + sigemptyset(&sa.sa_mask); + sigaction(SIGSEGV, &sa, NULL); + */ } else { diff --git a/libopie2/opiecore/oapplication.h b/libopie2/opiecore/oapplication.h index 94ac488..1bd34e2 100644 --- a/libopie2/opiecore/oapplication.h +++ b/libopie2/opiecore/oapplication.h @@ -41,7 +41,7 @@ class OConfig; class OApplication: public QPEApplication { Q_OBJECT - + public: /** * Constructor. Parses command-line arguments and sets the window caption. |