summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/main.cpp11
1 files changed, 3 insertions, 8 deletions
diff --git a/core/launcher/main.cpp b/core/launcher/main.cpp
index a6e2a9d..20a1ecd 100644
--- a/core/launcher/main.cpp
+++ b/core/launcher/main.cpp
@@ -51,56 +51,51 @@ using namespace Opie;
void initEnvironment()
{
int rot;
Config config("locale");
config.setGroup( "Location" );
QString tz = config.readEntry( "Timezone", getenv("TZ") );
// if not timezone set, pick New York
if (tz.isNull())
tz = "America/New_York";
setenv( "TZ", tz, 1 );
config.writeEntry( "Timezone", tz);
config.setGroup( "Language" );
QString lang = config.readEntry( "Language", getenv("LANG") );
if ( !lang.isNull() )
setenv( "LANG", lang, 1 );
#if !defined(QT_QWS_CASSIOPEIA) && !defined(QT_QWS_IPAQ) && !defined(QT_QWS_SL5XXX)
setenv( "QWS_SIZE", "240x320", 0 );
#endif
- /*
- * Rotation:
- * 1. use env var if set
- * 2. use saved default if set
- * 3. use physical orientation (currently fails due to ODevice
- * using a QPixmap and therefore requiring a QApplication)
- */
- if ( getenv("QWS_DISPLAY") == NULL ) {
+ QString env(getenv("QWS_DISPLAY"));
+ if (env.contains("Transformed")) {
+ // transformed driver default rotation is controlled by the hardware.
Config config("qpe");
config.setGroup( "Rotation" );
if ( ( rot = config.readNumEntry( "Rot", -1 ) ) == -1 )
rot = ODevice::inst ( )-> rotation ( ) * 90;
setenv("QWS_DISPLAY", QString("Transformed:Rot%1:0").arg(rot), 1);
QPEApplication::defaultRotation ( ); /* to ensure deforient matches reality */
}
}
int initApplication( int argc, char ** argv )
{
initEnvironment();
//Don't flicker at startup:
QWSServer::setDesktopBackground( QImage() );
DesktopApplication a( argc, argv, QApplication::GuiServer );
ODevice::inst ( )-> setSoftSuspend ( true );
{ // init backlight
QCopEnvelope e("QPE/System", "setBacklight(int)" );