summaryrefslogtreecommitdiff
path: root/qt/qte234-for-opie091-sigsegv.patch
Side-by-side diff
Diffstat (limited to 'qt/qte234-for-opie091-sigsegv.patch') (more/less context) (ignore 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;