summaryrefslogtreecommitdiff
path: root/core/launcher/main.cpp
Side-by-side diff
Diffstat (limited to 'core/launcher/main.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/main.cpp7
1 files changed, 0 insertions, 7 deletions
diff --git a/core/launcher/main.cpp b/core/launcher/main.cpp
index 734d072..5bbed59 100644
--- a/core/launcher/main.cpp
+++ b/core/launcher/main.cpp
@@ -113,137 +113,130 @@ static void initKeyboard()
qwsSetKeyboardAutoRepeat( ard, arp );
QString layout = config.readEntry( "Layout", "us101" );
Server::setKeyboardLayout( layout );
}
static bool firstUse()
{
bool needFirstUse = FALSE;
if ( QWSServer::mouseHandler() &&
QWSServer::mouseHandler() ->inherits("QCalibratedMouseHandler") ) {
if ( !QFile::exists( "/etc/pointercal" ) )
needFirstUse = TRUE;
}
{
Config config( "qpe" );
config.setGroup( "Startup" );
needFirstUse |= config.readBoolEntry( "FirstUse", TRUE );
}
if ( !needFirstUse )
return FALSE;
FirstUse *fu = new FirstUse();
fu->exec();
bool rs = fu->restartNeeded();
delete fu;
return rs;
}
int initApplication( int argc, char ** argv )
{
cleanup();
initEnvironment();
#ifdef QWS
QWSServer::setDesktopBackground( QImage() );
#endif
ServerApplication a( argc, argv, QApplication::GuiServer );
initKeyboard();
if ( firstUse() )
{
a.restart();
return 0;
}
-#ifndef Q_OS_MACX
- ODevice::inst()->setSoftSuspend( true );
-#endif
{
QCopEnvelope e("QPE/System", "setBacklight(int)" );
e << -3; // Forced on
}
AlarmServer::initialize();
Server *s = new Server();
new SysFileMonitor(s);
#ifdef QWS
Network::createServer(s);
#endif
s->show();
#if 0
if ( QDate::currentDate().year() < 2005 )
{
if ( QMessageBox::information ( 0, ServerApplication::tr( "Information" ),
ServerApplication::tr( "<p>The system date doesn't seem to be valid.\n(%1)</p><p>Do you want to correct the clock ?</p>" )
.arg( TimeString::dateString( QDate::currentDate())), QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes )
{
QCopEnvelope e ( "QPE/Application/systemtime", "setDocument(QString)" );
e << QString ( );
}
}
#endif
create_pidfile();
odebug << "--> mainloop in" << oendl;
int rv = a.exec();
odebug << "<-- mainloop out" << oendl;
remove_pidfile();
odebug << "removing server object..." << oendl;
delete s;
-#ifndef Q_OS_MACX
- ODevice::inst()->setSoftSuspend( false );
-#endif
-
odebug << "returning from qpe/initapplication..." << oendl;
return rv;
}
static const char *pidfile_path = "/var/run/opie.pid";
void create_pidfile()
{
FILE *f;
if (( f = ::fopen( pidfile_path, "w" ))) {
::fprintf( f, "%d", getpid ( ));
::fclose( f );
}
else
{
odebug << "couldn't create pidfile: " << strerror( errno ) << oendl;
}
}
void remove_pidfile()
{
::unlink( pidfile_path );
}
void handle_sigterm( int sig )
{
qDebug( "D'oh! QPE Server process got SIGNAL %d. Trying to exit gracefully...", sig );
::signal( SIGCHLD, SIG_IGN );
::signal( SIGSEGV, SIG_IGN );
::signal( SIGBUS, SIG_IGN );
::signal( SIGILL, SIG_IGN );
::signal( SIGTERM, SIG_IGN );
::signal ( SIGINT, SIG_IGN );
if ( qApp ) qApp->quit();
}
int main( int argc, char ** argv )
{
::signal( SIGCHLD, SIG_IGN );
::signal( SIGSEGV, handle_sigterm );
::signal( SIGBUS, handle_sigterm );
::signal( SIGILL, handle_sigterm );
::signal( SIGTERM, handle_sigterm );
::signal ( SIGINT, handle_sigterm );
::setsid();
::setpgid( 0, 0 );