summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/opie-login/main.cpp5
-rw-r--r--noncore/applets/keyhelper/keyhelperapplet/anylnk/ProcessInvoker.cpp4
-rw-r--r--noncore/settings/sysinfo/benchmarkinfo.cpp2
3 files changed, 9 insertions, 2 deletions
diff --git a/core/opie-login/main.cpp b/core/opie-login/main.cpp
index 554efd3..3f1077c 100644
--- a/core/opie-login/main.cpp
+++ b/core/opie-login/main.cpp
@@ -90,130 +90,133 @@ int main ( int argc, char **argv )
90 ::openlog ( "opie-login", LOG_CONS, LOG_AUTHPRIV ); 90 ::openlog ( "opie-login", LOG_CONS, LOG_AUTHPRIV );
91 ::atexit ( exit_closelog ); 91 ::atexit ( exit_closelog );
92 92
93 const char* autolog = 0; 93 const char* autolog = 0;
94 Config c( "opie-login" ); 94 Config c( "opie-login" );
95 c.setGroup( "autologin" ); 95 c.setGroup( "autologin" );
96 QString entry = c.readEntry( "user", "" ); 96 QString entry = c.readEntry( "user", "" );
97 if ( !entry.isEmpty() ) autolog = ::strdup( (const char*) entry ); 97 if ( !entry.isEmpty() ) autolog = ::strdup( (const char*) entry );
98 98
99 while ( true ) { 99 while ( true ) {
100 pid_t child = ::fork ( ); 100 pid_t child = ::fork ( );
101 101
102 if ( child < 0 ) { 102 if ( child < 0 ) {
103 ::syslog ( LOG_ERR, "Could not fork GUI process\n" ); 103 ::syslog ( LOG_ERR, "Could not fork GUI process\n" );
104 break; 104 break;
105 } 105 }
106 else if ( child > 0 ) { 106 else if ( child > 0 ) {
107 int status = 0; 107 int status = 0;
108 time_t started = ::time ( 0 ); 108 time_t started = ::time ( 0 );
109 109
110 while ( ::waitpid ( child, &status, 0 ) < 0 ) { } 110 while ( ::waitpid ( child, &status, 0 ) < 0 ) { }
111 111
112 LoginApplication::logout ( ); 112 LoginApplication::logout ( );
113 113
114 if (( ::time ( 0 ) - started ) < 3 ) { 114 if (( ::time ( 0 ) - started ) < 3 ) {
115 if ( autolog ) { 115 if ( autolog ) {
116 ::syslog ( LOG_ERR, "Respawning too fast -- disabling auto-login\n" ); 116 ::syslog ( LOG_ERR, "Respawning too fast -- disabling auto-login\n" );
117 autolog = 0; 117 autolog = 0;
118 } 118 }
119 else { 119 else {
120 ::syslog ( LOG_ERR, "Respawning too fast -- going down\n" ); 120 ::syslog ( LOG_ERR, "Respawning too fast -- going down\n" );
121 break; 121 break;
122 } 122 }
123 } 123 }
124 int killedbysig = 0; 124 int killedbysig = 0;
125 userExited=0; 125 userExited=0;
126 if (WIFEXITED(status)!=0 ) { 126 if (WIFEXITED(status)!=0 ) {
127 if (WEXITSTATUS(status)==137) { 127 if (WEXITSTATUS(status)==137) {
128 userExited=1; 128 userExited=1;
129 } 129 }
130 } 130 }
131 131
132 if ( WIFSIGNALED( status )) { 132 if ( WIFSIGNALED( status )) {
133 switch ( WTERMSIG( status )) { 133 switch ( WTERMSIG( status )) {
134 case SIGTERM: 134 case SIGTERM:
135 case SIGINT : 135 case SIGINT :
136 case SIGKILL: 136 case SIGKILL:
137 break; 137 break;
138 138
139 default : 139 default :
140 killedbysig = WTERMSIG( status ); 140 killedbysig = WTERMSIG( status );
141 break; 141 break;
142 } 142 }
143 } 143 }
144 if ( killedbysig ) { // qpe was killed by an uncaught signal 144 if ( killedbysig ) { // qpe was killed by an uncaught signal
145 qApp = 0; 145 qApp = 0;
146 146
147 ::syslog ( LOG_ERR, "Opie was killed by a signal #%d", killedbysig ); 147 ::syslog ( LOG_ERR, "Opie was killed by a signal #%d", killedbysig );
148 148
149 QWSServer::setDesktopBackground ( QImage ( )); 149 QWSServer::setDesktopBackground ( QImage ( ));
150 QApplication *app = new QApplication ( argc, argv, QApplication::GuiServer ); 150 QApplication *app = new QApplication ( argc, argv, QApplication::GuiServer );
151 app-> setFont ( QFont ( "Helvetica", 10 )); 151 app-> setFont ( QFont ( "Helvetica", 10 ));
152 app-> setStyle ( new QPEStyle ( )); 152 app-> setStyle ( new QPEStyle ( ));
153 153
154 // const char *sig = ::strsignal ( killedbysig ); 154#ifndef __UCLIBC__
155 const char *sig = ::sys_siglist[killedbysig]; 155 const char *sig = ::sys_siglist[killedbysig];
156#else
157 const char *sig = ::strsignal ( killedbysig );
158#endif
156 QLabel *l = new QLabel ( 0, "sig", Qt::WStyle_Customize | Qt::WStyle_NoBorder | Qt::WStyle_Tool ); 159 QLabel *l = new QLabel ( 0, "sig", Qt::WStyle_Customize | Qt::WStyle_NoBorder | Qt::WStyle_Tool );
157 l-> setText ( LoginWindowImpl::tr( "Opie was terminated\nby an uncaught signal\n(%1)\n" ). arg ( sig )); 160 l-> setText ( LoginWindowImpl::tr( "Opie was terminated\nby an uncaught signal\n(%1)\n" ). arg ( sig ));
158 l-> setAlignment ( Qt::AlignCenter ); 161 l-> setAlignment ( Qt::AlignCenter );
159 l-> move ( 0, 0 ); 162 l-> move ( 0, 0 );
160 l-> resize ( app-> desktop ( )-> width ( ), app-> desktop ( )-> height ( )); 163 l-> resize ( app-> desktop ( )-> width ( ), app-> desktop ( )-> height ( ));
161 l-> show ( ); 164 l-> show ( );
162 QTimer::singleShot ( 3000, app, SLOT( quit())); 165 QTimer::singleShot ( 3000, app, SLOT( quit()));
163 app-> exec ( ); 166 app-> exec ( );
164 delete app; 167 delete app;
165 qApp = 0; 168 qApp = 0;
166 } 169 }
167 } 170 }
168 else { 171 else {
169 if ( !autolog ) { 172 if ( !autolog ) {
170 QString confFile=QPEApplication::qpeDir() + "etc/opie-login.conf"; 173 QString confFile=QPEApplication::qpeDir() + "etc/opie-login.conf";
171 Config cfg ( confFile, Config::File ); 174 Config cfg ( confFile, Config::File );
172 cfg. setGroup ( "General" ); 175 cfg. setGroup ( "General" );
173 QString user = cfg. readEntry ( "AutoLogin" ); 176 QString user = cfg. readEntry ( "AutoLogin" );
174 177
175 if ( !user. isEmpty ( )) 178 if ( !user. isEmpty ( ))
176 autolog = ::strdup ( user. latin1 ( )); 179 autolog = ::strdup ( user. latin1 ( ));
177 } 180 }
178 181
179 if ( autolog && !userExited ) { 182 if ( autolog && !userExited ) {
180 183
181 QWSServer::setDesktopBackground( QImage() ); 184 QWSServer::setDesktopBackground( QImage() );
182 ODevice::inst()->setDisplayStatus( true ); 185 ODevice::inst()->setDisplayStatus( true );
183 LoginApplication *app = new LoginApplication ( argc, argv, ppid ); 186 LoginApplication *app = new LoginApplication ( argc, argv, ppid );
184 LoginApplication::setLoginAs( autolog ); 187 LoginApplication::setLoginAs( autolog );
185 188
186 189
187 if ( LoginApplication::changeIdentity ( )) 190 if ( LoginApplication::changeIdentity ( ))
188 ::exit ( LoginApplication::login ( )); 191 ::exit ( LoginApplication::login ( ));
189 else 192 else
190 ::exit ( 0 ); 193 ::exit ( 0 );
191 } 194 }
192 else { 195 else {
193 ::exit ( login_main ( argc, argv, ppid )); 196 ::exit ( login_main ( argc, argv, ppid ));
194 } 197 }
195 } 198 }
196 } 199 }
197 return 0; 200 return 0;
198} 201}
199 202
200void sigterm ( int /*sig*/ ) 203void sigterm ( int /*sig*/ )
201{ 204{
202 ::exit ( 0 ); 205 ::exit ( 0 );
203} 206}
204 207
205 208
206void exit_closelog ( ) 209void exit_closelog ( )
207{ 210{
208 ::closelog ( ); 211 ::closelog ( );
209} 212}
210 213
211 214
212class LoginScreenSaver : public QWSScreenSaver 215class LoginScreenSaver : public QWSScreenSaver
213{ 216{
214public: 217public:
215 LoginScreenSaver ( ) 218 LoginScreenSaver ( )
216 { 219 {
217 m_lcd_status = true; 220 m_lcd_status = true;
218 221
219 m_backlight_bright = -1; 222 m_backlight_bright = -1;
diff --git a/noncore/applets/keyhelper/keyhelperapplet/anylnk/ProcessInvoker.cpp b/noncore/applets/keyhelper/keyhelperapplet/anylnk/ProcessInvoker.cpp
index 09605bd..ff06551 100644
--- a/noncore/applets/keyhelper/keyhelperapplet/anylnk/ProcessInvoker.cpp
+++ b/noncore/applets/keyhelper/keyhelperapplet/anylnk/ProcessInvoker.cpp
@@ -1,66 +1,70 @@
1#include "ProcessInvoker.h" 1#include "ProcessInvoker.h"
2 2
3#ifndef PIPE_BUF // uClibc or similar
4#include <linux/limits.h>
5#endif
6
3static ProcessInvoker* g_this; 7static ProcessInvoker* g_this;
4/* ------------------------------------------------------------------------ */ 8/* ------------------------------------------------------------------------ */
5 /* static functions */ 9 /* static functions */
6/* ------------------------------------------------------------------------ */ 10/* ------------------------------------------------------------------------ */
7 11
8static Sigfunc* setSignalHandler(int signo, Sigfunc* handler) 12static Sigfunc* setSignalHandler(int signo, Sigfunc* handler)
9{ 13{
10 struct sigaction act,oact; 14 struct sigaction act,oact;
11 15
12 act.sa_handler = handler; 16 act.sa_handler = handler;
13 ::sigemptyset(&act.sa_mask); 17 ::sigemptyset(&act.sa_mask);
14 act.sa_flags = 0; 18 act.sa_flags = 0;
15 #ifdefSA_RESTART 19 #ifdefSA_RESTART
16 act.sa_flags |= SA_RESTART; 20 act.sa_flags |= SA_RESTART;
17#endif 21#endif
18 if(::sigaction(signo, &act, &oact) < 0){ 22 if(::sigaction(signo, &act, &oact) < 0){
19 return(NULL); 23 return(NULL);
20 } 24 }
21 return(oact.sa_handler); 25 return(oact.sa_handler);
22} 26}
23 27
24static void childHandler(int /*signo*/) 28static void childHandler(int /*signo*/)
25{ 29{
26 pid_t pid; 30 pid_t pid;
27 int status; 31 int status;
28 while((pid = ::waitpid(-1, &status, WNOHANG)) > 0){ 32 while((pid = ::waitpid(-1, &status, WNOHANG)) > 0){
29 if(pid == g_this->m_child){ 33 if(pid == g_this->m_child){
30 g_this->notifyFinish(status); 34 g_this->notifyFinish(status);
31 } 35 }
32 } 36 }
33} 37}
34 38
35/* ------------------------------------------------------------------------ */ 39/* ------------------------------------------------------------------------ */
36 /* ProcessInvoker Class : parent process */ 40 /* ProcessInvoker Class : parent process */
37/* ------------------------------------------------------------------------ */ 41/* ------------------------------------------------------------------------ */
38ProcessInvoker::ProcessInvoker() 42ProcessInvoker::ProcessInvoker()
39{ 43{
40 g_this = this; 44 g_this = this;
41 m_isRunning = false; 45 m_isRunning = false;
42 m_child = 0; 46 m_child = 0;
43 m_defChildHandler = SIG_DFL; 47 m_defChildHandler = SIG_DFL;
44 m_pTimer = new QTimer(this); 48 m_pTimer = new QTimer(this);
45 m_stdfd[0] = m_stdfd[1] = -1; 49 m_stdfd[0] = m_stdfd[1] = -1;
46 m_errfd[0] = m_errfd[1] = -1; 50 m_errfd[0] = m_errfd[1] = -1;
47 connect(m_pTimer, SIGNAL(timeout()), 51 connect(m_pTimer, SIGNAL(timeout()),
48 this, SLOT(readOutputs())); 52 this, SLOT(readOutputs()));
49} 53}
50 54
51ProcessInvoker::~ProcessInvoker() 55ProcessInvoker::~ProcessInvoker()
52{ 56{
53 qDebug("ProcessInvoker::~ProcessInvoker()"); 57 qDebug("ProcessInvoker::~ProcessInvoker()");
54} 58}
55 59
56bool ProcessInvoker::openPipe() 60bool ProcessInvoker::openPipe()
57{ 61{
58 if(m_stdfd[0] >= 0) closePipe(m_stdfd, 0); 62 if(m_stdfd[0] >= 0) closePipe(m_stdfd, 0);
59 if(m_stdfd[1] >= 0) closePipe(m_stdfd, 1); 63 if(m_stdfd[1] >= 0) closePipe(m_stdfd, 1);
60 if(::pipe(m_stdfd) < 0){ 64 if(::pipe(m_stdfd) < 0){
61 return(false); 65 return(false);
62 } 66 }
63 if(m_errfd[0] >= 0) closePipe(m_errfd, 0); 67 if(m_errfd[0] >= 0) closePipe(m_errfd, 0);
64 if(m_errfd[1] >= 0) closePipe(m_errfd, 1); 68 if(m_errfd[1] >= 0) closePipe(m_errfd, 1);
65 if(::pipe(m_errfd) < 0){ 69 if(::pipe(m_errfd) < 0){
66 closePipe(m_stdfd); 70 closePipe(m_stdfd);
diff --git a/noncore/settings/sysinfo/benchmarkinfo.cpp b/noncore/settings/sysinfo/benchmarkinfo.cpp
index ac6e1fa..8de9aa1 100644
--- a/noncore/settings/sysinfo/benchmarkinfo.cpp
+++ b/noncore/settings/sysinfo/benchmarkinfo.cpp
@@ -1,117 +1,117 @@
1/********************************************************************** 1/**********************************************************************
2** BenchmarkInfo 2** BenchmarkInfo
3** 3**
4** A benchmark widget for Qt/Embedded 4** A benchmark widget for Qt/Embedded
5** 5**
6** Copyright (C) 2004 Michael Lauer <mickey@vanille.de> 6** Copyright (C) 2004 Michael Lauer <mickey@vanille.de>
7** Inspired by ZBench (C) 2002 Satoshi <af230533@im07.alpha-net.ne.jp> 7** Inspired by ZBench (C) 2002 Satoshi <af230533@im07.alpha-net.ne.jp>
8** 8**
9** This file may be distributed and/or modified under the terms of the 9** This file may be distributed and/or modified under the terms of the
10** GNU General Public License version 2 as published by the Free Software 10** GNU General Public License version 2 as published by the Free Software
11** Foundation and appearing in the file LICENSE.GPL included in the 11** Foundation and appearing in the file LICENSE.GPL included in the
12** packaging of this file. 12** packaging of this file.
13** 13**
14** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 14** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
15** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 15** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16** 16**
17**********************************************************************/ 17**********************************************************************/
18 18
19#include "benchmarkinfo.h" 19#include "benchmarkinfo.h"
20 20
21/* OPIE */ 21/* OPIE */
22#include <opie2/odebug.h> 22#include <opie2/odebug.h>
23#include <opie2/ostorageinfo.h> 23#include <opie2/ostorageinfo.h>
24#include <opie2/olistview.h> 24#include <opie2/olistview.h>
25#include <opie2/oresource.h> 25#include <opie2/oresource.h>
26#include <qpe/qpeapplication.h> 26#include <qpe/qpeapplication.h>
27#include <qpe/qcopenvelope_qws.h> 27#include <qpe/qcopenvelope_qws.h>
28#include <qpe/qpedecoration_qws.h> 28#include <qpe/qpedecoration_qws.h>
29#include <qpe/config.h> 29#include <qpe/config.h>
30using namespace Opie::Core; 30using namespace Opie::Core;
31using namespace Opie::Ui; 31using namespace Opie::Ui;
32 32
33/* QT */ 33/* QT */
34#include <qclipboard.h> 34#include <qclipboard.h>
35#include <qcolor.h> 35#include <qcolor.h>
36#include <qcombobox.h> 36#include <qcombobox.h>
37#include <qdirectpainter_qws.h> 37#include <qdirectpainter_qws.h>
38#include <qfile.h> 38#include <qfile.h>
39#include <qtextstream.h> 39#include <qtextstream.h>
40#include <qfiledialog.h> 40#include <qfiledialog.h>
41#include <qlabel.h> 41#include <qlabel.h>
42#include <qlayout.h> 42#include <qlayout.h>
43#include <qpainter.h> 43#include <qpainter.h>
44#include <qpushbutton.h> 44#include <qpushbutton.h>
45#include <qtimer.h> 45#include <qtimer.h>
46#include <qwhatsthis.h> 46#include <qwhatsthis.h>
47 47
48/* STD */ 48/* STD */
49#include <time.h> 49#include <time.h>
50#include <stdio.h> 50#include <stdio.h>
51#include <stdlib.h> 51#include <stdlib.h>
52#include <math.h> 52#include <math.h>
53#if defined (__GNUC__) && (__GNUC__ < 3) 53#if (defined (__GNUC__) && (__GNUC__ < 3)) || defined(__UCLIBC__)
54#define round qRound 54#define round qRound
55#endif 55#endif
56 56
57extern "C" 57extern "C"
58{ 58{
59 void BenchFFT( void ); 59 void BenchFFT( void );
60 double dhry_main( int ); 60 double dhry_main( int );
61} 61}
62 62
63#define DHRYSTONE_RUNS 20000000 63#define DHRYSTONE_RUNS 20000000
64#define TEST_DURATION 3 64#define TEST_DURATION 3
65 65
66//=========================================================================== 66//===========================================================================
67 67
68class BenchmarkPaintWidget : public QWidget 68class BenchmarkPaintWidget : public QWidget
69{ 69{
70 public: 70 public:
71 BenchmarkPaintWidget() : QWidget( 0, "Benchmark Paint Widget", WStyle_Customize|WStyle_StaysOnTop|WPaintUnclipped|WPaintClever ) 71 BenchmarkPaintWidget() : QWidget( 0, "Benchmark Paint Widget", WStyle_Customize|WStyle_StaysOnTop|WPaintUnclipped|WPaintClever )
72 { 72 {
73 resize( QApplication::desktop()->size() ); 73 resize( QApplication::desktop()->size() );
74 show(); 74 show();
75 p.begin( this ); 75 p.begin( this );
76 }; 76 };
77 77
78 ~BenchmarkPaintWidget() 78 ~BenchmarkPaintWidget()
79 { 79 {
80 p.end(); 80 p.end();
81 hide(); 81 hide();
82 }; 82 };
83 83
84 QPainter p; 84 QPainter p;
85}; 85};
86 86
87//=========================================================================== 87//===========================================================================
88 88
89BenchmarkInfo::BenchmarkInfo( QWidget *parent, const char *name, int wFlags ) 89BenchmarkInfo::BenchmarkInfo( QWidget *parent, const char *name, int wFlags )
90 : QWidget( parent, name, wFlags ) 90 : QWidget( parent, name, wFlags )
91{ 91{
92 92
93 setMinimumSize( 200, 150 ); 93 setMinimumSize( 200, 150 );
94 94
95 QVBoxLayout* vb = new QVBoxLayout( this ); 95 QVBoxLayout* vb = new QVBoxLayout( this );
96 vb->setSpacing( 4 ); 96 vb->setSpacing( 4 );
97 vb->setMargin( 4 ); 97 vb->setMargin( 4 );
98 98
99 tests = new OListView( this ); 99 tests = new OListView( this );
100 QWhatsThis::add( tests->viewport(), tr( "This area shows the available tests, the results for which the tests " 100 QWhatsThis::add( tests->viewport(), tr( "This area shows the available tests, the results for which the tests "
101 "have been performed, and comparison values for one selected device. " 101 "have been performed, and comparison values for one selected device. "
102 "Use the checkboxes to define which tests you want to perform." ) ); 102 "Use the checkboxes to define which tests you want to perform." ) );
103 tests->setMargin( 0 ); 103 tests->setMargin( 0 );
104 tests->addColumn( tr( "Tests" ) ); 104 tests->addColumn( tr( "Tests" ) );
105 tests->addColumn( tr( "Results" ) ); 105 tests->addColumn( tr( "Results" ) );
106 tests->addColumn( tr( "Comparison" ) ); 106 tests->addColumn( tr( "Comparison" ) );
107 tests->setShowSortIndicator( true ); 107 tests->setShowSortIndicator( true );
108 108
109 test_alu = new OCheckListItem( tests, tr( "1. Integer Arithmetic " ), OCheckListItem::CheckBox ); 109 test_alu = new OCheckListItem( tests, tr( "1. Integer Arithmetic " ), OCheckListItem::CheckBox );
110 test_fpu = new OCheckListItem( tests, tr( "2. Floating Point Unit " ), OCheckListItem::CheckBox ); 110 test_fpu = new OCheckListItem( tests, tr( "2. Floating Point Unit " ), OCheckListItem::CheckBox );
111 test_txt = new OCheckListItem( tests, tr( "3. Text Rendering " ), OCheckListItem::CheckBox ); 111 test_txt = new OCheckListItem( tests, tr( "3. Text Rendering " ), OCheckListItem::CheckBox );
112 test_gfx = new OCheckListItem( tests, tr( "4. Gfx Rendering " ), OCheckListItem::CheckBox ); 112 test_gfx = new OCheckListItem( tests, tr( "4. Gfx Rendering " ), OCheckListItem::CheckBox );
113 test_ram = new OCheckListItem( tests, tr( "5. RAM Performance " ), OCheckListItem::CheckBox ); 113 test_ram = new OCheckListItem( tests, tr( "5. RAM Performance " ), OCheckListItem::CheckBox );
114#ifndef QT_QWS_RAMSES 114#ifndef QT_QWS_RAMSES
115 test_sd = new OCheckListItem( tests, tr( "6. SD Card Performance " ), OCheckListItem::CheckBox ); 115 test_sd = new OCheckListItem( tests, tr( "6. SD Card Performance " ), OCheckListItem::CheckBox );
116 test_cf = new OCheckListItem( tests, tr( "7. CF Card Performance " ), OCheckListItem::CheckBox ); 116 test_cf = new OCheckListItem( tests, tr( "7. CF Card Performance " ), OCheckListItem::CheckBox );
117#endif 117#endif