summaryrefslogtreecommitdiff
authorkergoth <kergoth>2003-03-19 06:02:26 (UTC)
committer kergoth <kergoth>2003-03-19 06:02:26 (UTC)
commit18c6c51705de3b1897f671e54b25929e74d11f23 (patch) (unidiff)
tree07985c88705bd017000428c7d6556ccbec1eeb0a
parent33d238e79564e01e48372543aec4c0a39be27460 (diff)
downloadopie-18c6c51705de3b1897f671e54b25929e74d11f23.zip
opie-18c6c51705de3b1897f671e54b25929e74d11f23.tar.gz
opie-18c6c51705de3b1897f671e54b25929e74d11f23.tar.bz2
err, helps to shutdown the qws server after catching the segv, otherwise itll just close the keyboard over and over until the end of time! *chuckles*
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--qt/qte234-for-opie091-sigsegv.patch5
1 files changed, 3 insertions, 2 deletions
diff --git a/qt/qte234-for-opie091-sigsegv.patch b/qt/qte234-for-opie091-sigsegv.patch
index b04accf..858030f 100644
--- a/qt/qte234-for-opie091-sigsegv.patch
+++ b/qt/qte234-for-opie091-sigsegv.patch
@@ -1,26 +1,27 @@
1 --- qt-2.3.4/src/kernel/qwindowsystem_qws.cpp~sigsegv2003-03-18 18:29:00.000000000 -0600 1 --- qt-2.3.4/src/kernel/qwindowsystem_qws.cpp~sigsegv2003-03-18 18:29:00.000000000 -0600
2 +++ qt-2.3.4/src/kernel/qwindowsystem_qws.cpp2003-03-18 19:09:08.000000000 -0600 2 +++ qt-2.3.4/src/kernel/qwindowsystem_qws.cpp2003-03-18 19:09:08.000000000 -0600
3@@ -843,6 +843,15 @@ 3@@ -843,6 +843,16 @@
4 { 4 {
5 } 5 }
6 6
7+static void catchSegvSignal( int ) 7+static void catchSegvSignal( int )
8+{ 8+{
9+#ifndef QT_NO_QWS_KEYBOARD 9+#ifndef QT_NO_QWS_KEYBOARD
10+ if ( qwsServer ) 10+ if ( qwsServer )
11 +qwsServer->closeKeyboard(); 11 +qwsServer->closeKeyboard();
12+#endif 12+#endif
13+ QWSServer::closedown();
13+} 14+}
14+ 15+
15+ 16+
16 /*! 17 /*!
17 \class QWSServer qwindowsystem_qws.h 18 \class QWSServer qwindowsystem_qws.h
18 \brief Server-specific functionality in Qt/Embedded 19 \brief Server-specific functionality in Qt/Embedded
19@@ -912,6 +921,7 @@ 20@@ -912,6 +922,7 @@
20 } 21 }
21 22
22 signal(SIGPIPE, ignoreSignal); //we get it when we read 23 signal(SIGPIPE, ignoreSignal); //we get it when we read
23+ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash 24+ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash
24 #endif 25 #endif
25 focusw = 0; 26 focusw = 0;
26 mouseGrabber = 0; 27 mouseGrabber = 0;