Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-19971

VCS Output Pane is inaccessible

    XMLWordPrintable

Details

    Description

      Version Control output pane creates only when project with VCS support opens. So, registration in outputpanemanager.cpp::g_outputPanes makes with some delay and after OutputPaneManager::init() call. As a result, g_outputPanes size and internal m_buttons size is differ and soft asserts like:

      QTC_ASSERT(idx >= 0 && idx < m_buttons.size(), return);
      

      is occurs:

      SOFT ASSERT: "idx >= 0 && idx < m_buttons.size()" in file /home/hatred/programming/projects/CMakeProjectManager/qtcreator-git/src/plugins/coreplugin/outputpanemanager.cpp, line 584
      

      when user tries to enable VCS pane from dialog.

      Next workaround patch helps me, but it seems unclean:

      diff --git a/src/plugins/vcsbase/vcsplugin.cpp b/src/plugins/vcsbase/vcsplugin.cpp
      index 8e21d1cbae..805c3425dc 100644
      --- a/src/plugins/vcsbase/vcsplugin.cpp
      +++ b/src/plugins/vcsbase/vcsplugin.cpp
      @@ -130,6 +130,9 @@ bool VcsPlugin::initialize(const QStringList &arguments, QString *errorMessage)
                   return QString();
               });
       
      +    // Just touch VCS Output Pane before initialization
      +    VcsOutputWindow::instance();
      +
           return true;
       }
      

      If patch is applicable for upstream, I can create Gerrit review.

      Attachments

        Issue Links

          For Gerrit Dashboard: QTCREATORBUG-19971
          # Subject Branch Project Status CR V

          Activity

            People

              hunger Tobias Hunger
              monah_tuk Alexander Drozdov
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes