summaryrefslogtreecommitdiff
authorzecke <zecke>2004-04-05 13:11:21 (UTC)
committer zecke <zecke>2004-04-05 13:11:21 (UTC)
commit3c2e23bacf25fc73d51bfa98a3b2ea9c0890d540 (patch) (unidiff)
tree7541a347abc4b028163ce9ed1b05d692c2941a56
parentf1708be741dfb73ceaffb633b44093f2cb2b3d57 (diff)
downloadopie-3c2e23bacf25fc73d51bfa98a3b2ea9c0890d540.zip
opie-3c2e23bacf25fc73d51bfa98a3b2ea9c0890d540.tar.gz
opie-3c2e23bacf25fc73d51bfa98a3b2ea9c0890d540.tar.bz2
Don't lock up with Qt2.3.8
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/qpeapplication.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp
index 5d05ed5..3370264 100644
--- a/library/qpeapplication.cpp
+++ b/library/qpeapplication.cpp
@@ -973,49 +973,49 @@ bool QPEApplication::qwsEventFilter( QWSEvent * e )
973 which = qApp; 973 which = qApp;
974 974
975 QApplication::sendEvent ( which, &qke ); 975 QApplication::sendEvent ( which, &qke );
976 } 976 }
977 else { // we didn't grab the keyboard, so send the event to the launcher 977 else { // we didn't grab the keyboard, so send the event to the launcher
978 QCopEnvelope e ( "QPE/Launcher", "deviceButton(int,int,int)" ); 978 QCopEnvelope e ( "QPE/Launcher", "deviceButton(int,int,int)" );
979 e << int( ke-> simpleData.keycode ) << int( ke-> simpleData. is_press ) << int( ke-> simpleData.is_auto_repeat ); 979 e << int( ke-> simpleData.keycode ) << int( ke-> simpleData. is_press ) << int( ke-> simpleData.is_auto_repeat );
980 } 980 }
981 } 981 }
982 return true; 982 return true;
983 } 983 }
984 } 984 }
985 if ( e->type == QWSEvent::Focus ) { 985 if ( e->type == QWSEvent::Focus ) {
986 QWSFocusEvent * fe = ( QWSFocusEvent* ) e; 986 QWSFocusEvent * fe = ( QWSFocusEvent* ) e;
987 if ( !fe->simpleData.get_focus ) { 987 if ( !fe->simpleData.get_focus ) {
988 QWidget * active = activeWindow(); 988 QWidget * active = activeWindow();
989 while ( active && active->isPopup() ) { 989 while ( active && active->isPopup() ) {
990 active->close(); 990 active->close();
991 active = activeWindow(); 991 active = activeWindow();
992 } 992 }
993 } 993 }
994 else { 994 else {
995 // make sure our modal widget is ALWAYS on top 995 // make sure our modal widget is ALWAYS on top
996 QWidget *topm = activeModalWidget(); 996 QWidget *topm = activeModalWidget();
997 if ( topm ) { 997 if ( topm && static_cast<int>( topm->winId() ) != fe->simpleData.window) {
998 topm->raise(); 998 topm->raise();
999 } 999 }
1000 } 1000 }
1001 if ( fe->simpleData.get_focus && inputMethodDict ) { 1001 if ( fe->simpleData.get_focus && inputMethodDict ) {
1002 InputMethodHint m = inputMethodHint( QWidget::find( e->window() ) ); 1002 InputMethodHint m = inputMethodHint( QWidget::find( e->window() ) );
1003 if ( m == AlwaysOff ) 1003 if ( m == AlwaysOff )
1004 Global::hideInputMethod(); 1004 Global::hideInputMethod();
1005 if ( m == AlwaysOn ) 1005 if ( m == AlwaysOn )
1006 Global::showInputMethod(); 1006 Global::showInputMethod();
1007 } 1007 }
1008 } 1008 }
1009 1009
1010 1010
1011 return QApplication::qwsEventFilter( e ); 1011 return QApplication::qwsEventFilter( e );
1012} 1012}
1013#endif 1013#endif
1014 1014
1015/*! 1015/*!
1016 Destroys the QPEApplication. 1016 Destroys the QPEApplication.
1017*/ 1017*/
1018QPEApplication::~QPEApplication() 1018QPEApplication::~QPEApplication()
1019{ 1019{
1020 ungrabKeyboard(); 1020 ungrabKeyboard();
1021#if defined(Q_WS_QWS) && !defined(QT_NO_COP) 1021#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
@@ -1444,49 +1444,49 @@ bool QPEApplication::raiseAppropriateWindow()
1444 for (QWidget* w = list->first(); w; w = list->next()) { 1444 for (QWidget* w = list->first(); w; w = list->next()) {
1445 if ( !w->parentWidget() && w != topm && w->isVisible() && !w->isDesktop() ) { 1445 if ( !w->parentWidget() && w != topm && w->isVisible() && !w->isDesktop() ) {
1446 if ( w == d->lastraised ) 1446 if ( w == d->lastraised )
1447 foundlast = TRUE; 1447 foundlast = TRUE;
1448 if ( foundlast ) { 1448 if ( foundlast ) {
1449 w->raise(); 1449 w->raise();
1450 topsub = w; 1450 topsub = w;
1451 } 1451 }
1452 } 1452 }
1453 } 1453 }
1454 } 1454 }
1455 for (QWidget* w = list->first(); w; w = list->next()) { 1455 for (QWidget* w = list->first(); w; w = list->next()) {
1456 if ( !w->parentWidget() && w != topm && w->isVisible() && !w->isDesktop() ) { 1456 if ( !w->parentWidget() && w != topm && w->isVisible() && !w->isDesktop() ) {
1457 if ( w == d->lastraised ) 1457 if ( w == d->lastraised )
1458 break; 1458 break;
1459 w->raise(); 1459 w->raise();
1460 topsub = w; 1460 topsub = w;
1461 } 1461 }
1462 } 1462 }
1463 d->lastraised = topsub; 1463 d->lastraised = topsub;
1464 delete list; 1464 delete list;
1465 } 1465 }
1466 1466
1467 // 3. Raise the active modal widget. 1467 // 3. Raise the active modal widget.
1468 if ( topm && topm != top ) { 1468 if ( topm ) {
1469 topm->show(); 1469 topm->show();
1470 topm->raise(); 1470 topm->raise();
1471 // If we haven't already handled the fastAppShowing message 1471 // If we haven't already handled the fastAppShowing message
1472 if (!top && d->preloaded) { 1472 if (!top && d->preloaded) {
1473#ifndef QT_NO_COP 1473#ifndef QT_NO_COP
1474 QCopEnvelope e("QPE/System", "fastAppShowing(QString)"); 1474 QCopEnvelope e("QPE/System", "fastAppShowing(QString)");
1475 e << d->appName; 1475 e << d->appName;
1476#endif 1476#endif
1477 } 1477 }
1478 r = FALSE; 1478 r = FALSE;
1479 } 1479 }
1480 1480
1481 return r; 1481 return r;
1482} 1482}
1483 1483
1484 1484
1485void QPEApplication::pidMessage( const QCString& msg, const QByteArray& data) 1485void QPEApplication::pidMessage( const QCString& msg, const QByteArray& data)
1486{ 1486{
1487#ifdef Q_WS_QWS 1487#ifdef Q_WS_QWS
1488 1488
1489 if ( msg == "quit()" ) { 1489 if ( msg == "quit()" ) {
1490 tryQuit(); 1490 tryQuit();
1491 } 1491 }
1492 else if ( msg == "quitIfInvisible()" ) { 1492 else if ( msg == "quitIfInvisible()" ) {