summaryrefslogtreecommitdiff
path: root/qt/qt-2.3.7.patch/qte237-keyboard.patch
authorzecke <zecke>2004-07-23 18:18:15 (UTC)
committer zecke <zecke>2004-07-23 18:18:15 (UTC)
commitf9499e14b777050f0bdb3821ca8421dd4c7231fd (patch) (side-by-side diff)
tree7d96a449aa3b211bd7c5bc9f4d5a7908005cd287 /qt/qt-2.3.7.patch/qte237-keyboard.patch
parent984ab6b8bccf667a89062d959defed4a5d86bfb1 (diff)
downloadopie-f9499e14b777050f0bdb3821ca8421dd4c7231fd.zip
opie-f9499e14b777050f0bdb3821ca8421dd4c7231fd.tar.gz
opie-f9499e14b777050f0bdb3821ca8421dd4c7231fd.tar.bz2
Split up the patches for Qt2.3.7 and Qt2.3.8 and add comments
on what they do
Diffstat (limited to 'qt/qt-2.3.7.patch/qte237-keyboard.patch') (more/less context) (ignore whitespace changes)
-rw-r--r--qt/qt-2.3.7.patch/qte237-keyboard.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/qt/qt-2.3.7.patch/qte237-keyboard.patch b/qt/qt-2.3.7.patch/qte237-keyboard.patch
new file mode 100644
index 0000000..b644fd7
--- a/dev/null
+++ b/qt/qt-2.3.7.patch/qte237-keyboard.patch
@@ -0,0 +1,43 @@
+Free the Virtual Terminal and Keyboard on a segfault in all cases...
+
+
+--- qt-2.3.7-old/src/kernel/qwindowsystem_qws.cpp 2004-07-23 15:22:56.000000000 +0200
++++ qt-2.3.7/src/kernel/qwindowsystem_qws.cpp 2004-07-23 15:33:47.000000000 +0200
+@@ -844,6 +844,18 @@
+ {
+ }
+
++static void catchSegvSignal( int )
++{
++#ifndef QT_NO_QWS_KEYBOARD
++ if ( qwsServer )
++ qwsServer->closeKeyboard();
++#endif
++ QWSServer::closedown();
++ fprintf(stderr, "Segmentation fault.\n");
++ exit(1);
++}
++
++
+ /*!
+ \class QWSServer qwindowsystem_qws.h
+ \brief Server-specific functionality in Qt/Embedded
+@@ -936,6 +948,7 @@
+ }
+
+ signal(SIGPIPE, ignoreSignal); //we get it when we read
++ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash
+ #endif
+ focusw = 0;
+ mouseGrabber = 0;
+--- qt-2.3.7-old/src/kernel/qkeyboard_qws.cpp 2004-07-23 15:22:56.000000000 +0200
++++ qt-2.3.7/src/kernel/qkeyboard_qws.cpp 2004-07-23 15:33:46.000000000 +0200
+@@ -238,7 +238,7 @@
+ { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 63
+ { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 64
+ { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 65
+- { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 66
++ { Qt::Key_F14, 0xffff , 0xffff , 0xffff }, // 66
+ { Qt::Key_Meta, 0xffff , 0xffff , 0xffff }, // 67
+ { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 68
+ { Qt::Key_unknown, 0xffff , 0xffff , 0xffff }, // 69