summaryrefslogtreecommitdiff
authorkergoth <kergoth>2003-03-19 05:52:25 (UTC)
committer kergoth <kergoth>2003-03-19 05:52:25 (UTC)
commit33d238e79564e01e48372543aec4c0a39be27460 (patch) (side-by-side diff)
tree17207e2fde4f410c995ace7e56aeabdf48307adc
parentc5eb709636c2f38e815696fa492ef05ad7236b61 (diff)
downloadopie-33d238e79564e01e48372543aec4c0a39be27460.zip
opie-33d238e79564e01e48372543aec4c0a39be27460.tar.gz
opie-33d238e79564e01e48372543aec4c0a39be27460.tar.bz2
Add patch which installs a SIGSEGV handler into any QWS server to close the keyboard on crash, and thereby prevent leaving it in MEDIUMRAW mode.
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--qt/qte234-for-opie091-sigsegv.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/qt/qte234-for-opie091-sigsegv.patch b/qt/qte234-for-opie091-sigsegv.patch
new file mode 100644
index 0000000..b04accf
--- a/dev/null
+++ b/qt/qte234-for-opie091-sigsegv.patch
@@ -0,0 +1,26 @@
+--- qt-2.3.4/src/kernel/qwindowsystem_qws.cpp~sigsegv 2003-03-18 18:29:00.000000000 -0600
++++ qt-2.3.4/src/kernel/qwindowsystem_qws.cpp 2003-03-18 19:09:08.000000000 -0600
+@@ -843,6 +843,15 @@
+ {
+ }
+
++static void catchSegvSignal( int )
++{
++#ifndef QT_NO_QWS_KEYBOARD
++ if ( qwsServer )
++ qwsServer->closeKeyboard();
++#endif
++}
++
++
+ /*!
+ \class QWSServer qwindowsystem_qws.h
+ \brief Server-specific functionality in Qt/Embedded
+@@ -912,6 +921,7 @@
+ }
+
+ signal(SIGPIPE, ignoreSignal); //we get it when we read
++ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash
+ #endif
+ focusw = 0;
+ mouseGrabber = 0;