VirtualBox

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


Ignore:
Timestamp:
Jul 26, 2015 12:20:44 AM (9 years ago)
Author:
vboxsync
Message:

FE/Qt: Fixed --start-running behavior.

Location:
trunk/src/VBox/Frontends/VirtualBox/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp

    r57076 r57080  
    39713971    initDebuggerVar(&m_fDbgAutoShow, "VBOX_GUI_DBG_AUTO_SHOW", GUI_Dbg_AutoShow, false);
    39723972    m_fDbgAutoShowCommandLine = m_fDbgAutoShowStatistics = m_fDbgAutoShow;
    3973     mStartPaused = false;
     3973    m_enmStartRunning = StartRunning_Default;
    39743974#endif
    39753975
     
    41094109            setDebuggerVar(&m_fDbgAutoShowCommandLine, true);
    41104110            setDebuggerVar(&m_fDbgAutoShowStatistics, true);
    4111             mStartPaused = true;
    41124111        }
    41134112        else if (!::strcmp(arg, "--debug-command-line"))
     
    41164115            setDebuggerVar(&m_fDbgAutoShow, true);
    41174116            setDebuggerVar(&m_fDbgAutoShowCommandLine, true);
    4118             mStartPaused = true;
    41194117        }
    41204118        else if (!::strcmp(arg, "--debug-statistics"))
     
    41234121            setDebuggerVar(&m_fDbgAutoShow, true);
    41244122            setDebuggerVar(&m_fDbgAutoShowStatistics, true);
    4125             mStartPaused = true;
    41264123        }
    41274124        else if (!::strcmp(arg, "-no-debug") || !::strcmp(arg, "--no-debug"))
     
    41344131        /* Not quite debug options, but they're only useful with the debugger bits. */
    41354132        else if (!::strcmp(arg, "--start-paused"))
    4136             mStartPaused = true;
     4133            m_enmStartRunning = StartRunning_No;
    41374134        else if (!::strcmp(arg, "--start-running"))
    4138             mStartPaused = false;
     4135            m_enmStartRunning = StartRunning_Yes;
    41394136#endif
    41404137        /** @todo add an else { msgbox(syntax error); exit(1); } here, pretty please... */
     
    42064203        {
    42074204            m_hVBoxDbg = NIL_RTLDRMOD;
    4208             m_fDbgAutoShow =  m_fDbgAutoShowCommandLine = m_fDbgAutoShowStatistics = false;
     4205            m_fDbgAutoShow = m_fDbgAutoShowCommandLine = m_fDbgAutoShowStatistics = false;
    42094206            LogRel(("Failed to load VBoxDbg, rc=%Rrc - %s\n", vrc, ErrInfo.Core.pszMsg));
    42104207        }
     
    43914388                 || pStr->startsWith("f")  // false
    43924389                 || pStr->startsWith("off")
    4393                  || pStr->contains("veto")
     4390                 || pStr->contains("veto") /* paranoia */
    43944391                 || pStr->toLongLong() == 0)
    43954392            *piDbgCfgVar = VBOXGLOBAL_DBG_CFG_VAR_FALSE;
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h

    r57045 r57080  
    8181    };
    8282
     83    /** Whether to start the VM running. */
     84    enum StartRunning
     85    {
     86        StartRunning_Default,   /**< Default (depends on debug settings). */
     87        StartRunning_No,        /**< Start the VM paused. */
     88        StartRunning_Yes        /**< Start the VM running. */
     89    };
     90
    8391    /* Static API: Create/destroy stuff: */
    8492    static VBoxGlobal* instance();
     
    182190
    183191    RTLDRMOD getDebuggerModule() const { return m_hVBoxDbg; }
    184 
    185     bool isStartPausedEnabled() const { return mStartPaused; }
    186192#endif /* VBOX_WITH_DEBUGGER_GUI */
     193
     194    bool shouldStartPaused() const
     195    {
     196#ifdef VBOX_WITH_DEBUGGER_GUI
     197        return m_enmStartRunning == StartRunning_Default ? isDebuggerAutoShowEnabled() : m_enmStartRunning == StartRunning_No;
     198#else
     199        return false;
     200#endif
     201    }
    187202
    188203    /* VBox enum to/from string/icon/color convertors */
     
    531546    RTLDRMOD m_hVBoxDbg;
    532547
    533     /** Whether to start the VM in paused state or not. */
    534     bool mStartPaused;
     548    /** Whether --start-running, --start-paused or nothing was given. */
     549    enum StartRunning m_enmStartRunning;
    535550#endif
    536551
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp

    r56730 r57080  
    856856    /* HACK ALERT! Really ugly workaround for the resizing to 9x1 done by DevVGA if provoked before power on. */
    857857    if (size.width() < 16 || size.height() < 16)
    858         if (vboxGlobal().isStartPausedEnabled() || vboxGlobal().isDebuggerAutoShowEnabled())
     858        if (vboxGlobal().shouldStartPaused() || vboxGlobal().isDebuggerAutoShowEnabled())
    859859            size = QSize(640, 480);
    860860#endif /* !VBOX_WITH_DEBUGGER_GUI */
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp

    r56704 r57080  
    258258{
    259259    /* Power UP machine: */
    260 #ifdef VBOX_WITH_DEBUGGER_GUI
    261     CProgress progress = vboxGlobal().isStartPausedEnabled() || vboxGlobal().isDebuggerAutoShowEnabled() ?
    262                          console().PowerUpPaused() : console().PowerUp();
    263 #else /* !VBOX_WITH_DEBUGGER_GUI */
    264     CProgress progress = console().PowerUp();
    265 #endif /* !VBOX_WITH_DEBUGGER_GUI */
     260    CProgress progress = vboxGlobal().shouldStartPaused() ? console().PowerUpPaused() : console().PowerUp();
    266261
    267262    /* Check for immediate failure: */
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