summaryrefslogtreecommitdiff
path: root/packages/qte/qte-2.3.12/handhelds.patch
blob: c4e3c8ce59f5f3a782077bfcb9ff6f3beaf927ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66

#
# Patch managed by http://www.holgerschurig.de/patcher.html
#

Index: qt-2.3.10-snapshot-20060120/src/widgets/qcommonstyle.cpp
===================================================================
--- qt-2.3.10-snapshot-20060120.orig/src/widgets/qcommonstyle.cpp	2006-01-20 01:08:03.000000000 +0100
+++ qt-2.3.10-snapshot-20060120/src/widgets/qcommonstyle.cpp	2006-01-20 21:03:08.477913608 +0100
@@ -572,7 +572,7 @@
 				    bool enabled, bool active )
 {
 #ifndef QT_NO_MENUBAR
-#ifndef QT_NO_STYLE_SGI
+#if 1 // #ifndef QT_NO_STYLE_SGI
     if (draw_menu_bar_impl != 0) {
 	QDrawMenuBarItemImpl impl = draw_menu_bar_impl;
 	(this->*impl)(p, x, y, w, h, mi, g, enabled, active);
Index: qt-2.3.10-snapshot-20060120/src/widgets/qlistview.cpp
===================================================================
--- qt-2.3.10-snapshot-20060120.orig/src/widgets/qlistview.cpp	2006-01-20 01:08:03.000000000 +0100
+++ qt-2.3.10-snapshot-20060120/src/widgets/qlistview.cpp	2006-01-20 21:03:08.480913152 +0100
@@ -5053,9 +5053,9 @@
 	l = l->childItem ? l->childItem : l->siblingItem;
 
     if ( l && l->height() )
-	s.setHeight( s.height() + 10 * l->height() );
-    else
-	s.setHeight( s.height() + 140 );
+	s.setHeight( s.height() + 4 /*10*/ * l->height() );
+    else                      // ^v much too big for handhelds
+	s.setHeight( s.height() + 30 /*140*/ );
 
     if ( s.width() > s.height() * 3 )
 	s.setHeight( s.width() / 3 );
Index: qt-2.3.10-snapshot-20060120/src/kernel/qwindowsystem_qws.cpp
===================================================================
--- qt-2.3.10-snapshot-20060120.orig/src/kernel/qwindowsystem_qws.cpp	2006-01-20 20:57:33.113896688 +0100
+++ qt-2.3.10-snapshot-20060120/src/kernel/qwindowsystem_qws.cpp	2006-01-20 21:03:08.482912848 +0100
@@ -918,6 +918,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
@@ -1043,6 +1055,7 @@
     }
 
     signal(SIGPIPE, ignoreSignal); //we get it when we read
+    signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash
 #endif
     focusw = 0;
     mouseGrabber = 0;