summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rwxr-xr-xmkipks2
-rw-r--r--qt/qte234-for-opie091-sigsegv.patch6
2 files changed, 5 insertions, 3 deletions
diff --git a/mkipks b/mkipks
index 3fbf160..85eeb5d 100755
--- a/mkipks
+++ b/mkipks
@@ -13,17 +13,17 @@ if [ -z "$QTE_VERSION" ]
13then 13then
14 if [ -e $QTDIR/include/qglobal.h ] 14 if [ -e $QTDIR/include/qglobal.h ]
15 then 15 then
16 QTE_VERSION=`cat $QTDIR/include/qglobal.h|grep '^#define QT_VERSION_STR'|sed -e 's,#define QT_VERSION_STR\t*,,;' -e 's,.*"\([^"]*\)".*,\1,;'` 16 QTE_VERSION=`cat $QTDIR/include/qglobal.h|grep '^#define QT_VERSION_STR'|sed -e 's,#define QT_VERSION_STR\t*,,;' -e 's,.*"\([^"]*\)".*,\1,;'`
17 else 17 else
18 QTE_VERSION=2.3.4 18 QTE_VERSION=2.3.4
19 fi 19 fi
20fi 20fi
21[ -z "$QTE_REVISION" ] && QTE_REVISION=3 21[ -z "$QTE_REVISION" ] && QTE_REVISION=4
22DEB_VERSION=2.0 22DEB_VERSION=2.0
23 23
24# Have to do this here, since CVS can't store symlinks 24# Have to do this here, since CVS can't store symlinks
25 25
26mkdir -p $OPIEDIR/etc/rcS.d 26mkdir -p $OPIEDIR/etc/rcS.d
27ln -sf ../init.d/bootsplash $OPIEDIR/etc/rcS.d/S01bootsplash 27ln -sf ../init.d/bootsplash $OPIEDIR/etc/rcS.d/S01bootsplash
28 28
29VERSION_MAJ=$(sed -n -e 's/.*QPE_VERSION "\([0-9]*\)\..*\..*".*/\1/p' <$OPIEDIR/include/qpe/version.h) 29VERSION_MAJ=$(sed -n -e 's/.*QPE_VERSION "\([0-9]*\)\..*\..*".*/\1/p' <$OPIEDIR/include/qpe/version.h)
diff --git a/qt/qte234-for-opie091-sigsegv.patch b/qt/qte234-for-opie091-sigsegv.patch
index 9111b42..085de91 100644
--- a/qt/qte234-for-opie091-sigsegv.patch
+++ b/qt/qte234-for-opie091-sigsegv.patch
@@ -1,27 +1,29 @@
1 --- ./src/kernel/qwindowsystem_qws.cpp~sigsegv2003-03-18 18:29:00.000000000 -0600 1 --- ./src/kernel/qwindowsystem_qws.cpp~sigsegv2003-03-18 18:29:00.000000000 -0600
2 +++ ./src/kernel/qwindowsystem_qws.cpp2003-03-18 19:09:08.000000000 -0600 2 +++ ./src/kernel/qwindowsystem_qws.cpp2003-03-18 19:09:08.000000000 -0600
3@@ -843,6 +843,16 @@ 3@@ -843,6 +843,18 @@
4 { 4 {
5 } 5 }
6 6
7+static void catchSegvSignal( int ) 7+static void catchSegvSignal( int )
8+{ 8+{
9+#ifndef QT_NO_QWS_KEYBOARD 9+#ifndef QT_NO_QWS_KEYBOARD
10+ if ( qwsServer ) 10+ if ( qwsServer )
11 +qwsServer->closeKeyboard(); 11 +qwsServer->closeKeyboard();
12+#endif 12+#endif
13+ QWSServer::closedown(); 13+ QWSServer::closedown();
14+ fprintf(stderr, "Segmentation fault.\n");
15+ exit(1);
14+} 16+}
15+ 17+
16+ 18+
17 /*! 19 /*!
18 \class QWSServer qwindowsystem_qws.h 20 \class QWSServer qwindowsystem_qws.h
19 \brief Server-specific functionality in Qt/Embedded 21 \brief Server-specific functionality in Qt/Embedded
20@@ -912,6 +922,7 @@ 22@@ -912,6 +924,7 @@
21 } 23 }
22 24
23 signal(SIGPIPE, ignoreSignal); //we get it when we read 25 signal(SIGPIPE, ignoreSignal); //we get it when we read
24+ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash 26+ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash
25 #endif 27 #endif
26 focusw = 0; 28 focusw = 0;
27 mouseGrabber = 0; 29 mouseGrabber = 0;