Changeset 77
- Timestamp:
- Apr 2, 2006, 12:41:47 AM (19 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/.qtos2defines
r8 r77 5 5 DEFINES *= \ 6 6 QT_NO_DRAGANDDROP \ 7 QT_NO_SESSIONMANAGER \8 7 QT_NO_PRINTER 9 8 -
trunk/src/kernel/qapplication.cpp
r8 r77 4395 4395 *****************************************************************************/ 4396 4396 #ifndef QT_NO_SESSIONMANAGER 4397 #if defined( QT_NO_SM_SUPPORT ) || defined( Q_WS_WIN ) || defined( Q_WS_MAC ) || defined( Q_WS_QWS ) 4397 #if defined( QT_NO_SM_SUPPORT ) || defined( Q_WS_WIN ) || defined( Q_WS_MAC ) || defined( Q_WS_QWS ) || defined( Q_WS_PM ) 4398 4398 4399 4399 class QSessionManagerData … … 4452 4452 #endif 4453 4453 4454 #if !defined(Q_WS_WIN) 4454 #if !defined(Q_WS_WIN) && !defined(Q_WS_PM) 4455 4455 bool QSessionManager::allowsInteraction() 4456 4456 { -
trunk/src/kernel/qapplication_pm.cpp
r64 r77 51 51 #include "qpixmapcache.h" 52 52 #include "qdatetime.h" 53 //@@TODO (dmik): later 54 //#include "qsessionmanager.h" 53 #include "qsessionmanager.h" 55 54 #include "qmime.h" 56 55 #include "qguardedptr.h" … … 64 63 #include "private/qinternal_p.h" 65 64 #include "private/qcriticalsection_p.h" 66 // @@TODO (dmik):remove?65 /// @todo (dmik) remove? 67 66 //#include "private/qinputcontext_p.h" 68 67 #include "qstyle.h" … … 76 75 extern void qt_ensure_pm(); 77 76 78 // @@TODO (dmik):how we can use buttons 4 and 5 on OS/2?77 /// @todo (dmik) how we can use buttons 4 and 5 on OS/2? 79 78 //// support for xbuttons 80 79 //#ifndef WM_XBUTTONDOWN … … 90 89 //#endif 91 90 92 // @@TODO (dmik):hmm, extended keys under OS/2?91 /// @todo (dmik) hmm, extended keys under OS/2? 93 92 //// support for multi-media-keys on ME/2000/XP 94 93 //#ifndef WM_APPCOMMAND … … 179 178 buf[realLen+1] = 0; 180 179 strupr( dot2 ); 181 // @@TODO (dmik):currently, simulated bold and italic font styles are not180 /// @todo (dmik) currently, simulated bold and italic font styles are not 182 181 // supported by Qt/OS2 because Qt doesn't support style simulation 183 182 // explicitly. the code below is commented out to prevent selecting … … 231 230 *****************************************************************************/ 232 231 233 //@@TODO (dmik): later (guess remove)234 //static HMODULE appInst = 0;235 //236 //static HINSTANCE appInst = 0; // handle to app instance237 //static HINSTANCE appPrevInst = 0; // handle to prev app instance238 //static int appCmdShow = 0; // main window show command239 232 static HWND curWin = 0; // current window 240 233 static HPS displayPS = 0; // display presentation space 241 //@@TODO (dmik): later (guess remove) 242 //#ifdef Q_OS_TEMP 243 //static UINT appUniqueID = 0; // application id 244 //#endif 245 246 //@@TODO (dmik): later 247 //// Session management 248 //static bool sm_blockUserInput = FALSE; 249 //static bool sm_smActive = FALSE; 250 //extern QSessionManager* qt_session_manager_self; 251 //static bool sm_cancel; 234 235 #if !defined (QT_NO_SESSIONMANAGER) 236 237 // Session management 238 static bool sm_blockUserInput = FALSE; 239 static bool sm_smActive = FALSE; 240 extern QSessionManager* qt_session_manager_self; 241 static bool sm_cancel = FALSE; 242 static bool sm_gracefulShutdown = FALSE; 243 bool qt_about_to_destroy_wnd = FALSE; 244 245 //#define DEBUG_SESSIONMANAGER 246 247 #endif 252 248 253 249 static bool replayPopupMouseEvent = FALSE; // replay handling when popups close … … 298 294 } 299 295 300 // ### Remove 4.0 [end] --------------------301 296 bool qt_pmEventFilter( QMSG* msg, MRESULT &result ) 302 297 { … … 969 964 970 965 static bool inLoop = FALSE; 971 //@@TODO (dmik): remove972 //static int inputcharset = CP_ACP;973 966 974 967 #define RETURN(x) { inLoop = FALSE; return (MRESULT) (x); } … … 1021 1014 qmsg.ptl.y = QApplication::desktop()->height() - (qmsg.ptl.y + 1); 1022 1015 1023 // @@TODO (dmik):do we need this?1016 /// @todo (dmik) do we need this? 1024 1017 // /* 1025 1018 // // sometimes the autograb is not released, so the clickevent is sent … … 1039 1032 1040 1033 switch ( msg ) { 1041 //@@TODO (dmik): later 1042 //#ifndef Q_OS_TEMP 1043 // case WM_QUERYENDSESSION: { 1044 // if ( sm_smActive ) // bogus message from windows 1045 // RETURN(TRUE); 1046 // 1047 // sm_smActive = TRUE; 1048 // sm_blockUserInput = TRUE; // prevent user-interaction outside interaction windows 1049 // sm_cancel = FALSE; 1050 // if ( qt_session_manager_self ) 1051 // qApp->commitData( *qt_session_manager_self ); 1052 // if ( lParam == (LPARAM)ENDSESSION_LOGOFF ) { 1053 // _flushall(); 1054 // } 1055 // RETURN(!sm_cancel); 1056 // } 1057 // case WM_ENDSESSION: { 1058 // sm_smActive = FALSE; 1059 // sm_blockUserInput = FALSE; 1060 // bool endsession = (bool) wParam; 1061 // 1062 // if ( endsession ) { 1063 // // since the process will be killed immediately quit() has no real effect 1064 // int index = qApp->metaObject()->findSignal( "aboutToQuit()", TRUE ); 1065 // qApp->qt_emit(index,0); 1066 // qApp->quit(); 1067 // } 1068 // 1069 // RETURN(0); 1070 // } 1071 // case WM_DISPLAYCHANGE: 1072 // if ( qApp->type() == QApplication::Tty ) 1073 // break; 1074 // if ( qt_desktopWidget ) { 1075 // int x = GetSystemMetrics( 76 ); 1076 // int y = GetSystemMetrics( 77 ); 1077 // QMoveEvent mv( QPoint(x, y), qt_desktopWidget->pos() ); 1078 // QApplication::sendEvent( qt_desktopWidget, &mv ); 1079 // x = GetSystemMetrics( 78 ); 1080 // y = GetSystemMetrics( 79 ); 1081 // QResizeEvent re( QSize(x, y), qt_desktopWidget->size() ); 1082 // QApplication::sendEvent( qt_desktopWidget, &re ); 1083 // } 1084 // break; 1085 //#endif 1086 // 1034 #if !defined (QT_NO_SESSIONMANAGER) 1035 case WM_SAVEAPPLICATION: { 1036 #if defined (DEBUG_SESSIONMANAGER) 1037 qDebug( "WM_SAVEAPPLICATION: sm_gracefulShutdown=%d " 1038 "qt_about_to_destroy_wnd=%d", 1039 sm_gracefulShutdown, qt_about_to_destroy_wnd ); 1040 #endif 1041 // PM seems to post this message to all top-level windows on system 1042 // shutdown, so react only to the first one. Also, this message is 1043 // always sent by WinDestroyWindow(), where it must be also ignored. 1044 if ( !sm_gracefulShutdown && !qt_about_to_destroy_wnd ) { 1045 sm_gracefulShutdown = TRUE; 1046 } 1047 // PMREF recommends to pass it to WinDefWindowProc() 1048 rc = WinDefWindowProc( hwnd, msg, mp1, mp2 ); 1049 RETURN( rc ); 1050 } 1051 #endif 1052 1053 /// @todo (dmik) later 1087 1054 // case WM_SETTINGCHANGE: 1088 1055 //#ifdef Q_OS_TEMP … … 1119 1086 case WM_BUTTON2DOWN: 1120 1087 case WM_BUTTON3DOWN: 1121 // @@TODO (dmik):later (extra buttons)1088 /// @todo (dmik) later (extra buttons) 1122 1089 // case WM_XBUTTONDOWN: 1123 1090 if ( ignoreNextMouseReleaseEvent ) … … 1127 1094 case WM_BUTTON2UP: 1128 1095 case WM_BUTTON3UP: 1129 // @@TODO (dmik):later (extra buttons)1096 /// @todo (dmik) later (extra buttons) 1130 1097 // case WM_XBUTTONUP: 1131 1098 if ( ignoreNextMouseReleaseEvent ) { … … 1155 1122 1156 1123 if ( widget->pmEvent( &qmsg ) ) // send through widget filter 1157 //@@TODO (dmik): should we always return TRUE as MRESULT here?1158 1124 RETURN( TRUE ); 1159 1125 … … 1619 1585 #endif 1620 1586 1621 /// @todo (dmik) later 1622 //#if defined(QT_ACCESSIBILITY_SUPPORT) 1623 // case WM_GETOBJECT: 1624 // { 1625 // // Ignoring all requests while starting up 1626 // if ( qApp->startingUp() || !qApp->loopLevel() || lParam != OBJID_CLIENT ) { 1627 // result = FALSE; 1628 // break; 1629 // } 1630 // 1631 // typedef LRESULT (WINAPI *PtrLresultFromObject)(REFIID, WPARAM, LPUNKNOWN ); 1632 // static PtrLresultFromObject ptrLresultFromObject = 0; 1633 // static bool oleaccChecked = FALSE; 1634 // 1635 // if ( !oleaccChecked ) { 1636 // oleaccChecked = TRUE; 1637 // ptrLresultFromObject = (PtrLresultFromObject)QLibrary::resolve( "oleacc.dll", "LresultFromObject" ); 1638 // } 1639 // if ( ptrLresultFromObject ) { 1640 // QAccessibleInterface *acc = 0; 1641 // QAccessible::queryAccessibleInterface( widget, &acc ); 1642 // if ( !acc ) { 1643 // result = FALSE; 1644 // break; 1645 // } 1646 // 1647 // QCustomEvent e( QEvent::Accessibility, acc ); 1648 // QApplication::sendEvent( widget, &e ); 1649 // 1650 // // and get an instance of the IAccessibile implementation 1651 // IAccessible *iface = qt_createWindowsAccessible( acc ); 1652 // acc->release(); 1653 // LRESULT res = ptrLresultFromObject( IID_IAccessible, wParam, iface ); // ref == 2 1654 // iface->Release(); // the client will release the object again, and then it will destroy itself 1655 // 1656 // if ( res > 0 ) 1657 // RETURN(res); 1658 // } 1659 // } 1660 // result = FALSE; 1661 // break; 1662 //#endif 1663 1664 //@@TODO (dmik): remove. functionality is implemented in WM_SETFOCUS above. 1587 /// @todo (dmik) remove? functionality is implemented in WM_SETFOCUS above. 1665 1588 // case WM_KILLFOCUS: 1666 1589 // if ( !QWidget::find( (HWND)wParam ) ) { // we don't get focus, so unset it now … … 1695 1618 // break; 1696 1619 // 1697 //#ifndef Q_OS_TEMP1698 // case WM_INPUTLANGCHANGE: {1699 // char info[7];1700 // if ( !GetLocaleInfoA( MAKELCID(lParam, SORT_DEFAULT), LOCALE_IDEFAULTANSICODEPAGE, info, 6 ) ) {1701 // inputcharset = CP_ACP;1702 // } else {1703 // inputcharset = QString( info ).toInt();1704 // }1705 // break;1706 // }1707 //#else1708 1620 // case WM_COMMAND: 1709 1621 // result = (wParam == 0x1); … … 1741 1653 break; 1742 1654 1743 // @@TODO (dmik): remove.functionality is implemented in WM_SETFOCUS above.1655 /// @todo (dmik) remove? functionality is implemented in WM_SETFOCUS above. 1744 1656 // case WM_CANCELMODE: 1745 1657 // if ( qApp->focusWidget() ) { … … 1766 1678 do_default: 1767 1679 RETURN( WinDefWindowProc( hwnd, msg, mp1, mp2 ) ); 1768 // @@TODO (dmik): remove1680 /// @todo (dmik) remove? 1769 1681 // RETURN( QInputContext::DefWindowProc(hwnd,message,wParam,lParam) ) 1770 1682 } … … 2377 2289 static HWND dblClickCandidateWin = 0; 2378 2290 2379 //@@TODO (dmik): later 2380 // if ( sm_blockUserInput ) //block user interaction during session management 2381 // return TRUE; 2291 if ( sm_blockUserInput ) //block user interaction during session management 2292 return TRUE; 2382 2293 2383 2294 // Compress mouse move events … … 2986 2897 QString text; 2987 2898 2988 //@@TODO (dmik): later 2989 // if ( sm_blockUserInput ) // block user interaction during session management 2990 // return TRUE; 2899 if ( sm_blockUserInput ) // block user interaction during session management 2900 return TRUE; 2991 2901 2992 2902 translateKeyCode( chm, code, ascii, state, text ); 2993 // @@TODO (dmik):currently WM_CHARs chars with zero virtual code or zero2903 /// @todo (dmik) currently WM_CHARs chars with zero virtual code or zero 2994 2904 // scancode are totally ignored. -- are they? 2995 2905 // if ( !code || !chm.scancode ) return FALSE; … … 3075 2985 enum { WHEEL_DELTA = 120 }; 3076 2986 3077 //@@TODO (dmik): later 3078 // if ( sm_blockUserInput ) // block user interaction during session management 3079 // return TRUE; 2987 if ( sm_blockUserInput ) // block user interaction during session management 2988 return TRUE; 3080 2989 3081 2990 // consume duplicate wheel events sent by the AMouse driver to emulate … … 3517 3426 } 3518 3427 3519 //@@TODO (dmik): later 3520 //bool QSessionManager::allowsInteraction() 3521 //{ 3522 // sm_blockUserInput = FALSE; 3523 // return TRUE; 3524 //} 3525 // 3526 //bool QSessionManager::allowsErrorInteraction() 3527 //{ 3528 // sm_blockUserInput = FALSE; 3529 // return TRUE; 3530 //} 3531 // 3532 //void QSessionManager::release() 3533 //{ 3534 // if ( sm_smActive ) 3535 // sm_blockUserInput = TRUE; 3536 //} 3537 // 3538 //void QSessionManager::cancel() 3539 //{ 3540 // sm_cancel = TRUE; 3541 //} 3542 3428 #if !defined (QT_NO_SESSIONMANAGER) 3429 3430 bool qt_app_canQuit() 3431 { 3432 #if defined (DEBUG_SESSIONMANAGER) 3433 qDebug( "qt_app_canQuit(): sm_smActive=%d qt_about_to_destroy_wnd=%d " 3434 "sm_gracefulShutdown=%d sm_cancel=%d", 3435 sm_smActive, qt_about_to_destroy_wnd, 3436 sm_gracefulShutdown, sm_cancel ); 3437 #endif 3438 3439 BOOL answer = FALSE; 3440 3441 // We can get multiple WM_QUIT messages while the "session termination 3442 // procedure" (i.e. the QApplication::commitData() call) is still in 3443 // progress. Ignore them. 3444 if ( !sm_smActive ) { 3445 sm_smActive = TRUE; 3446 sm_blockUserInput = TRUE; // prevent user-interaction outside interaction windows 3447 sm_cancel = FALSE; 3448 if ( qt_session_manager_self ) 3449 qApp->commitData( *qt_session_manager_self ); 3450 sm_smActive = FALSE; 3451 sm_gracefulShutdown = FALSE; 3452 answer = !sm_cancel; 3453 } 3454 3455 #if defined (DEBUG_SESSIONMANAGER) 3456 qDebug( "qt_app_canQuit(): answer=%ld", answer ); 3457 #endif 3458 3459 return answer; 3460 } 3461 3462 bool QSessionManager::allowsInteraction() 3463 { 3464 // Allow interation only when the system is being normally shutdown 3465 // and informs us using WM_SAVEAPPLICATION. When we receive WM_QUIT directly 3466 // (so sm_gracefulShutdown is FALSE), interaction is disallowed. 3467 if ( sm_smActive && sm_gracefulShutdown ) { 3468 sm_blockUserInput = FALSE; 3469 return TRUE; 3470 } 3471 3472 return FALSE; 3473 } 3474 3475 bool QSessionManager::allowsErrorInteraction() 3476 { 3477 // Allow interation only when the system is being normally shutdown 3478 // and informs us using WM_SAVEAPPLICATION. When we receive WM_QUIT directly 3479 // (so sm_gracefulShutdown is FALSE), interaction is disallowed. 3480 if ( sm_smActive && sm_gracefulShutdown ) { 3481 sm_blockUserInput = FALSE; 3482 return TRUE; 3483 } 3484 3485 return FALSE; 3486 } 3487 3488 void QSessionManager::release() 3489 { 3490 if ( sm_smActive && sm_gracefulShutdown ) 3491 sm_blockUserInput = TRUE; 3492 } 3493 3494 void QSessionManager::cancel() 3495 { 3496 if ( sm_smActive && sm_gracefulShutdown ) 3497 sm_cancel = TRUE; 3498 } 3499 3500 #endif -
trunk/src/kernel/qeventloop_pm.cpp
r8 r77 51 51 extern bool qt_pmEventFilter( QMSG* msg, MRESULT &result ); 52 52 53 #if !defined (QT_NO_SESSIONMANAGER) 54 extern bool qt_app_canQuit(); // defined in qapplication_pm.cpp 55 #endif 56 53 57 static HAB qt_gui_hab = 0; 54 58 static HMQ qt_gui_queue = 0; 55 //@@TODO (dmik): later 56 //// Simpler timers are needed when Qt does not have the event loop, 57 //// such as for plugins. 59 60 /// @todo (dmik) later 61 // Simpler timers are needed when Qt does not have the event loop, 62 // such as for plugins. 58 63 //#ifndef Q_OS_TEMP 59 64 //Q_EXPORT bool qt_win_use_simple_timers = TRUE; … … 433 438 // recursive mutex to serialize access to socket notifier data 434 439 static QMutex ss_mutex( TRUE ); 435 // flag to indicate apresence of sockets to do select() (we use QSemaphore440 // flag to indicate the presence of sockets to do select() (we use QSemaphore 436 441 // instead of QWaitCondition because we need the "level-triggered" semantics, 437 // the "edge-triggered" onecan produce deadlocks)442 // the "edge-triggered" semantics can produce deadlocks) 438 443 static QSemaphore ss_flag( 1 ); 439 444 … … 786 791 locker.mutex()->unlock(); 787 792 #endif // QT_THREAD_SUPPORT 788 if ( !WinGetMsg( 0, &msg, 0, 0, 0 ) ) { 793 if ( !WinGetMsg( 0, &msg, 0, 0, 0 ) ) { // WM_QUIT received 794 #if !defined (QT_NO_SESSIONMANAGER) 795 if ( qt_app_canQuit() ) { 796 #endif 789 797 #ifdef QT_THREAD_SUPPORT 790 locker.mutex()->lock(); 791 #endif // QT_THREAD_SUPPORT 792 exit( 0 ); // WM_QUIT received 793 return FALSE; 798 locker.mutex()->lock(); 799 #endif // QT_THREAD_SUPPORT 800 exit( 0 ); 801 return FALSE; 802 #if !defined (QT_NO_SESSIONMANAGER) 803 } else { 804 WinCancelShutdown( d->hmq, FALSE ); 805 } 806 #endif 794 807 } 795 808 #ifdef QT_THREAD_SUPPORT -
trunk/src/kernel/qt_kernel.pri
r72 r77 284 284 HEADERS -= \ 285 285 $$KERNEL_P/qinputcontext_p.h \ 286 $$KERNEL_H/qprinter.h \ 287 $$KERNEL_H/qsessionmanager.h 286 $$KERNEL_H/qprinter.h 288 287 289 288 SOURCES -= \ -
trunk/src/kernel/qwidget_pm.cpp
r75 r77 64 64 // defined in qapplication_pm.cpp 65 65 extern void qt_sendBlocked( QObject *obj, QWidget *modal, QEvent *e, bool override ); 66 #if !defined (QT_NO_SESSIONMANAGER) 67 extern bool qt_about_to_destroy_wnd; 68 #endif 66 69 67 70 static QWidget *mouseGrb = 0; … … 598 601 #endif 599 602 603 /*! 604 * \internal 605 * For some unknown reason, PM sends WM_SAVEAPPLICATION to every window 606 * being destroyed, which makes it indistinguishable from WM_SAVEAPPLICATION 607 * sent to top level windows during system shutdown. We use our own version of 608 * WinDestroyWindow() and a special flag (qt_about_to_destroy_wnd) to 609 * distinguish it in qapplication_pm.cpp. 610 */ 611 static BOOL qt_WinDestroyWindow( HWND hwnd ) 612 { 613 #if !defined (QT_NO_SESSIONMANAGER) 614 qt_about_to_destroy_wnd = TRUE; 615 #endif 616 BOOL rc = WinDestroyWindow( hwnd ); 617 #if !defined (QT_NO_SESSIONMANAGER) 618 qt_about_to_destroy_wnd = FALSE; 619 #endif 620 return rc; 621 } 622 600 623 static void removeSysMenuAccels( HWND frame ) 601 624 { … … 808 831 fcData.idResources = 0; 809 832 #if !defined(QT_NO_DEBUG) && defined(QT_DEBUGWINCREATEDESTROY) 810 qDebug( 811 "|Creating top level window [%s] (frame):\n" 812 "| owner = %08lX\n" 813 "| title = '%s'\n" 814 "| style = %08lX\n" 815 "| fcFlags = %08lX", 816 name(), ownerw, title, fStyle, fcFlags 817 ); 833 qDebug ( "|Creating top level window [%s/%s] (frame):\n" 834 "| owner = %08lX\n" 835 "| title = '%s'\n" 836 "| style = %08lX\n" 837 "| fcFlags = %08lX", 838 name(), this->className(), ownerw, title, fStyle, fcFlags ); 818 839 #endif 819 840 fId = WinCreateWindow( … … 838 859 // create client 839 860 #if !defined(QT_NO_DEBUG) && defined(QT_DEBUGWINCREATEDESTROY) 840 qDebug( 841 "|Creating top level window [%s] (client):\n" 842 "| owner & parent = %08lX\n" 843 "| class = '%s'\n" 844 "| title = '%s'\n" 845 "| style = %08lX", 846 name(), fId, pszClassName, title, style 847 ); 861 qDebug( "|Creating top level window [%s/%s] (client):\n" 862 "| owner & parent = %08lX\n" 863 "| class = '%s'\n" 864 "| title = '%s'\n" 865 "| style = %08lX", 866 name(), this->className(), fId, pszClassName, title, style ); 848 867 #endif 849 868 // note that we place the client on top (HWND_TOP) to exclude other … … 855 874 } else { 856 875 #if !defined(QT_NO_DEBUG) && defined(QT_DEBUGWINCREATEDESTROY) 857 qDebug( 858 "|Creating top level window [%s]:\n" 859 "| owner = %08lX\n" 860 "| class = '%s'\n" 861 "| title = '%s'\n" 862 "| style = %08lX", 863 name(), ownerw, pszClassName, title, style 864 ); 876 qDebug( "|Creating top level window [%s/%s]:\n" 877 "| owner = %08lX\n" 878 "| class = '%s'\n" 879 "| title = '%s'\n" 880 "| style = %08lX", 881 name(), this->className(), ownerw, pszClassName, title, style ); 865 882 #endif 866 883 id = WinCreateWindow( … … 894 911 HWND parentw = parentWidget()->winId(); 895 912 #if !defined(QT_NO_DEBUG) && defined(QT_DEBUGWINCREATEDESTROY) 896 qDebug( 897 "|Creating child window [%s]:\n" 898 "| owner & parent = %08lX\n" 899 "| class = '%s'\n" 900 "| title = '%s'\n" 901 "| style = %08lX", 902 name(), parentw, pszClassName, title, style 903 ); 913 qDebug( "|Creating child window [%s/%s]:\n" 914 "| owner & parent = %08lX\n" 915 "| class = '%s'\n" 916 "| title = '%s'\n" 917 "| style = %08lX", 918 name(), this->className(), parentw, pszClassName, title, style ); 904 919 #endif 905 920 id = WinCreateWindow( … … 998 1013 } 999 1014 #if !defined(QT_NO_DEBUG) && defined(QT_DEBUGWINCREATEDESTROY) 1000 qDebug( 1001 "|Destroying window:\n" 1002 "| hwnd = %08lX", 1003 id 1004 ); 1005 #endif 1006 WinDestroyWindow( id ); 1015 qDebug( "|Destroying window [%s/%s]:\n" 1016 "| hwnd = %08lX", 1017 name(), className(), id ); 1018 #endif 1019 qt_WinDestroyWindow( id ); 1007 1020 } 1008 1021 setWinId( 0 ); … … 1128 1141 show(); 1129 1142 if ( old_winfid ) 1130 WinDestroyWindow( old_winfid );1143 qt_WinDestroyWindow( old_winfid ); 1131 1144 1132 1145 reparentFocusWidgets( oldtlw ); // fix focus chains
Note:
See TracChangeset
for help on using the changeset viewer.