author | kergoth <kergoth> | 2003-03-19 05:52:25 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2003-03-19 05:52:25 (UTC) |
commit | 33d238e79564e01e48372543aec4c0a39be27460 (patch) (unidiff) | |
tree | 17207e2fde4f410c995ace7e56aeabdf48307adc /qt/qte234-for-opie091-sigsegv.patch | |
parent | c5eb709636c2f38e815696fa492ef05ad7236b61 (diff) | |
download | opie-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 (limited to 'qt/qte234-for-opie091-sigsegv.patch') (more/less context) (ignore whitespace changes)
-rw-r--r-- | qt/qte234-for-opie091-sigsegv.patch | 26 |
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 @@ | |||
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 | ||
3 | @@ -843,6 +843,15 @@ | ||
4 | { | ||
5 | } | ||
6 | |||
7 | +static void catchSegvSignal( int ) | ||
8 | +{ | ||
9 | +#ifndef QT_NO_QWS_KEYBOARD | ||
10 | + if ( qwsServer ) | ||
11 | +qwsServer->closeKeyboard(); | ||
12 | +#endif | ||
13 | +} | ||
14 | + | ||
15 | + | ||
16 | /*! | ||
17 | \class QWSServer qwindowsystem_qws.h | ||
18 | \brief Server-specific functionality in Qt/Embedded | ||
19 | @@ -912,6 +921,7 @@ | ||
20 | } | ||
21 | |||
22 | signal(SIGPIPE, ignoreSignal); //we get it when we read | ||
23 | + signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash | ||
24 | #endif | ||
25 | focusw = 0; | ||
26 | mouseGrabber = 0; | ||