summaryrefslogtreecommitdiff
path: root/qt/qt-2.3.8.patch/qte238-keyboard.patch
Unidiff
Diffstat (limited to 'qt/qt-2.3.8.patch/qte238-keyboard.patch') (more/less context) (ignore whitespace changes)
-rw-r--r--qt/qt-2.3.8.patch/qte238-keyboard.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/qt/qt-2.3.8.patch/qte238-keyboard.patch b/qt/qt-2.3.8.patch/qte238-keyboard.patch
new file mode 100644
index 0000000..0ac321f
--- a/dev/null
+++ b/qt/qt-2.3.8.patch/qte238-keyboard.patch
@@ -0,0 +1,47 @@
1Free the Virtual Terminal and Keyboard on a segfault in all cases...
2
3
4diff -ur qt-2.3.8-old/src/kernel/qkeyboard_qws.cpp qt-2.3.8/src/kernel/qkeyboard_qws.cpp
5 --- qt-2.3.8-old/src/kernel/qkeyboard_qws.cpp2004-07-22 01:07:45.000000000 +0200
6 +++ qt-2.3.8/src/kernel/qkeyboard_qws.cpp2004-07-23 19:13:52.000000000 +0200
7@@ -314,7 +314,7 @@
8 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 63
9 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 64
10 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 65
11 - { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 66
12+ { Qt::Key_F14, 0xffff , 0xffff , 0xffff }, // 66
13 { Qt::Key_Meta, 0xffff , 0xffff , 0xffff }, // 67
14 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 68
15 { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 69
16Nur in qt-2.3.8/src/kernel/: qkeyboard_qws.cpp.orig.
17diff -ur qt-2.3.8-old/src/kernel/qwindowsystem_qws.cpp qt-2.3.8/src/kernel/qwindowsystem_qws.cpp
18 --- qt-2.3.8-old/src/kernel/qwindowsystem_qws.cpp2004-07-22 01:07:45.000000000 +0200
19 +++ qt-2.3.8/src/kernel/qwindowsystem_qws.cpp2004-07-23 19:13:52.000000000 +0200
20@@ -1273,6 +1273,18 @@
21 {
22 }
23
24+static void catchSegvSignal( int )
25+{
26+#ifndef QT_NO_QWS_KEYBOARD
27+ if ( qwsServer )
28 +qwsServer->closeKeyboard();
29+#endif
30+ QWSServer::closedown();
31+ fprintf(stderr, "Segmentation fault.\n");
32+ exit(1);
33+}
34+
35+
36 /*!
37 \class QWSServer qwindowsystem_qws.h
38 \brief Server-specific functionality in Qt/Embedded
39@@ -1365,6 +1377,7 @@
40 }
41
42 signal(SIGPIPE, ignoreSignal); //we get it when we read
43+ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash
44 #endif
45 focusw = 0;
46 mouseGrabber = 0;
47Nur in qt-2.3.8/src/kernel/: qwindowsystem_qws.cpp.orig.