VirtualBox

Changeset 15268 in vbox for trunk/src/VBox/Frontends


Ignore:
Timestamp:
Dec 10, 2008 5:27:17 PM (16 years ago)
Author:
vboxsync
Message:

FE/Qt4: 3304: "Warning during VM exit": fixed segfault when closing VBox Console as the result of 40292. Have to check with Qt 4.4.x.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox4/src/VBoxConsoleWnd.cpp

    r15185 r15268  
    706706VBoxConsoleWnd::~VBoxConsoleWnd()
    707707{
     708    closeView();
     709
    708710#ifdef Q_WS_MAC
    709711    /* release the dock images */
     
    11301132    }
    11311133
    1132     idle_timer->stop();
    1133     idle_timer->disconnect (SIGNAL (timeout()), this, SLOT (updateDeviceLights()));
    1134 
    1135     hide();
    1136 
    1137     /* save the position of the window and some options */
    1138     {
    1139         CMachine machine = csession.GetMachine();
    1140         QString winPos = QString ("%1,%2,%3,%4")
    1141             .arg (mNormalGeo.x()).arg (mNormalGeo.y())
    1142             .arg (mNormalGeo.width()).arg (mNormalGeo.height());
    1143         if (isMaximized() || (mIsFullscreen && was_max)
    1144                           || (mIsSeamless && was_max))
    1145             winPos += QString (",%1").arg (VBoxDefs::GUI_LastWindowPosition_Max);
    1146 
    1147         machine.SetExtraData (VBoxDefs::GUI_LastWindowPosition, winPos);
    1148 
    1149         machine.SetExtraData (VBoxDefs::GUI_Fullscreen,
    1150                               mVmFullscreenAction->isChecked() ? "on" : "off");
    1151         machine.SetExtraData (VBoxDefs::GUI_Seamless,
    1152                               mVmSeamlessAction->isChecked() ? "on" : "off");
    1153         machine.SetExtraData (VBoxDefs::GUI_AutoresizeGuest,
    1154                               mVmAutoresizeGuestAction->isChecked() ? "on" : "off");
    1155     }
    1156 
    1157 #ifdef VBOX_WITH_DEBUGGER_GUI
    1158     /* close & destroy the debugger gui */
    1159     dbgDestroy();
    1160 #endif
    1161     /* Make sure all events are delievered */
    1162     qApp->processEvents();
    1163 
    11641134    console->detach();
    1165 
    11661135    centralWidget()->layout()->removeWidget (console);
    11671136    delete console;
     
    11691138    csession.Close();
    11701139    csession.detach();
    1171     emit closing();
    11721140
    11731141    LogFlowFuncLeave();
     
    15701538        vboxGlobal().selectorWnd().show();
    15711539#endif
    1572         QTimer::singleShot (0, this, SLOT (closeView()));
     1540
     1541        /* Stop LED update timer */
     1542        idle_timer->stop();
     1543        idle_timer->disconnect (SIGNAL (timeout()), this, SLOT (updateDeviceLights()));
     1544
     1545        /* Hide console window */
     1546        hide();
     1547
     1548        /* Save the position of the window and some options */
     1549        CMachine machine = csession.GetMachine();
     1550        QString winPos = QString ("%1,%2,%3,%4")
     1551            .arg (mNormalGeo.x()).arg (mNormalGeo.y())
     1552            .arg (mNormalGeo.width()).arg (mNormalGeo.height());
     1553        if (isMaximized() || (mIsFullscreen && was_max)
     1554                          || (mIsSeamless && was_max))
     1555            winPos += QString (",%1").arg (VBoxDefs::GUI_LastWindowPosition_Max);
     1556
     1557        machine.SetExtraData (VBoxDefs::GUI_LastWindowPosition, winPos);
     1558
     1559        machine.SetExtraData (VBoxDefs::GUI_Fullscreen,
     1560                              mVmFullscreenAction->isChecked() ? "on" : "off");
     1561        machine.SetExtraData (VBoxDefs::GUI_Seamless,
     1562                              mVmSeamlessAction->isChecked() ? "on" : "off");
     1563        machine.SetExtraData (VBoxDefs::GUI_AutoresizeGuest,
     1564                              mVmAutoresizeGuestAction->isChecked() ? "on" : "off");
     1565
     1566#ifdef VBOX_WITH_DEBUGGER_GUI
     1567        /* Close & destroy the debugger GUI */
     1568        dbgDestroy();
     1569#endif
     1570
     1571        /* Make sure all events are delievered */
     1572        qApp->processEvents();
     1573
     1574        /* Notify all the top-level dialogs about closing */
     1575        emit closing();
    15731576    }
    15741577
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette