author | kergoth <kergoth> | 2003-04-21 17:15:01 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2003-04-21 17:15:01 (UTC) |
commit | b3ec819dfed40b05b2bea1b1392de774bc1f572d (patch) (side-by-side diff) | |
tree | c0e30307ba6623f49cda10ce35e7f3323b4062f8 | |
parent | eecb4b6d3c22466f273c3498b6370b1e1c67c726 (diff) | |
download | opie-b3ec819dfed40b05b2bea1b1392de774bc1f572d.zip opie-b3ec819dfed40b05b2bea1b1392de774bc1f572d.tar.gz opie-b3ec819dfed40b05b2bea1b1392de774bc1f572d.tar.bz2 |
Final fix for the suspend bug
-rw-r--r-- | libopie/odevice.cpp | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/libopie/odevice.cpp b/libopie/odevice.cpp index 501b601..62e3569 100644 --- a/libopie/odevice.cpp +++ b/libopie/odevice.cpp @@ -51,18 +51,16 @@ #define OD_IOW(type,number,size) OD_IOC(1,type,number,sizeof(size)) #define OD_IOR(type,number,size) OD_IOC(2,type,number,sizeof(size)) #define OD_IORW(type,number,size) OD_IOC(3,type,number,sizeof(size)) using namespace Opie; class ODeviceData { public: - bool m_qwsserver : 1; - QString m_vendorstr; OVendor m_vendor; QString m_modelstr; OModel m_model; QString m_systemstr; OSystem m_system; @@ -234,18 +232,20 @@ struct z_button z_buttons_c700 [] = { static QCString makeChannel ( const char *str ) { if ( str && !::strchr ( str, '/' )) return QCString ( "QPE/Application/" ) + str; else return str; } - - +static inline bool isQWS() +{ + return qApp ? ( qApp-> type ( ) == QApplication::GuiServer ) : false; +} ODevice *ODevice::inst ( ) { static ODevice *dev = 0; if ( !dev ) { if ( QFile::exists ( "/proc/hal/model" )) dev = new iPAQ ( ); @@ -266,18 +266,16 @@ ODevice *ODevice::inst ( ) * **************************************************/ ODevice::ODevice ( ) { d = new ODeviceData; - d-> m_qwsserver = qApp ? ( qApp-> type ( ) == QApplication::GuiServer ) : false; - d-> m_modelstr = "Unknown"; d-> m_model = Model_Unknown; d-> m_vendorstr = "Unknown"; d-> m_vendor = Vendor_Unknown; d-> m_systemstr = "Unknown"; d-> m_system = System_Unknown; d-> m_sysverstr = "0.0"; d-> m_rotation = Rot0; @@ -301,18 +299,16 @@ void ODevice::init ( ) /** * This method initialises the button mapping */ void ODevice::initButtons ( ) { if ( d-> m_buttons ) return; - d-> m_qwsserver = qApp ? ( qApp-> type ( ) == QApplication::GuiServer ) : false; - // Simulation uses iPAQ 3660 device buttons qDebug ( "init Buttons" ); d-> m_buttons = new QValueList <ODeviceButton>; for ( uint i = 0; i < ( sizeof( ipaq_buttons ) / sizeof( i_button )); i++ ) { i_button *ib = ipaq_buttons + i; ODeviceButton b; @@ -354,17 +350,17 @@ bool ODevice::setSoftSuspend ( bool /*soft*/ ) * do have asynchronus apm implementations. * This method will either fail and return false or it'll suspend the * device and return once the device got woken up * * @return if the device got suspended */ bool ODevice::suspend ( ) { - if ( !d-> m_qwsserver ) // only qwsserver is allowed to suspend + if ( !isQWS( ) ) // only qwsserver is allowed to suspend return false; if ( d-> m_model == Model_Unknown ) // better don't suspend in qvfb / on unkown devices return false; bool res = false; struct timeval tvs, tvn; @@ -802,19 +798,17 @@ void iPAQ::init ( ) } void iPAQ::initButtons ( ) { if ( d-> m_buttons ) return; - d-> m_qwsserver = qApp ? ( qApp-> type ( ) == QApplication::GuiServer ) : false; - - if ( d-> m_qwsserver ) + if ( isQWS( ) ) QWSServer::setKeyboardFilter ( this ); d-> m_buttons = new QValueList <ODeviceButton>; for ( uint i = 0; i < ( sizeof( ipaq_buttons ) / sizeof( i_button )); i++ ) { i_button *ib = ipaq_buttons + i; ODeviceButton b; @@ -1202,18 +1196,16 @@ void Zaurus::init ( ) m_leds [0] = Led_Off; } void Zaurus::initButtons ( ) { if ( d-> m_buttons ) return; - d-> m_qwsserver = qApp ? ( qApp-> type ( ) == QApplication::GuiServer ) : false; - d-> m_buttons = new QValueList <ODeviceButton>; struct z_button * pz_buttons; int buttoncount; switch ( d-> m_model ) { case Model_Zaurus_SLC700: pz_buttons = z_buttons_c700; buttoncount = ARRAY_SIZE(z_buttons_c700); |