From aa0926901b1070c5f636e3fb11dea9d1660657d7 Mon Sep 17 00:00:00 2001
From: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Date: Mon, 26 Apr 2010 09:12:58 +0200
Subject: [PATCH] VCS: Initially enable menus.

Fix breakage introduced by:
5923733889075800a0979c73476bf3bbae204e89
---
 src/plugins/cvs/cvsplugin.cpp               | 4 ----
 src/plugins/cvs/cvsplugin.h                 | 1 -
 src/plugins/git/gitplugin.cpp               | 4 ----
 src/plugins/git/gitplugin.h                 | 1 -
 src/plugins/mercurial/mercurialplugin.cpp   | 4 ----
 src/plugins/mercurial/mercurialplugin.h     | 2 +-
 src/plugins/perforce/perforceplugin.cpp     | 1 +
 src/plugins/subversion/subversionplugin.cpp | 4 ----
 src/plugins/subversion/subversionplugin.h   | 1 -
 src/plugins/vcsbase/vcsbaseplugin.cpp       | 8 +++++++-
 src/plugins/vcsbase/vcsbaseplugin.h         | 3 ++-
 11 files changed, 11 insertions(+), 22 deletions(-)

diff --git a/src/plugins/cvs/cvsplugin.cpp b/src/plugins/cvs/cvsplugin.cpp
index b45deb226f9..f1b21a4de6d 100644
--- a/src/plugins/cvs/cvsplugin.cpp
+++ b/src/plugins/cvs/cvsplugin.cpp
@@ -398,10 +398,6 @@ bool CVSPlugin::initialize(const QStringList & /*arguments */, QString *errorMes
     return true;
 }
 
-void CVSPlugin::extensionsInitialized()
-{
-}
-
 bool CVSPlugin::submitEditorAboutToClose(VCSBase::VCSBaseSubmitEditor *submitEditor)
 {
     if (!isCommitEditorOpen())
diff --git a/src/plugins/cvs/cvsplugin.h b/src/plugins/cvs/cvsplugin.h
index 12a1ee674f3..1548729dff1 100644
--- a/src/plugins/cvs/cvsplugin.h
+++ b/src/plugins/cvs/cvsplugin.h
@@ -84,7 +84,6 @@ public:
     ~CVSPlugin();
 
     virtual bool initialize(const QStringList &arguments, QString *error_message);
-    virtual void extensionsInitialized();
 
     void cvsDiff(const QString &workingDir, const QStringList &files);
 
diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp
index 56ab327b0ac..c7fc2465fa9 100644
--- a/src/plugins/git/gitplugin.cpp
+++ b/src/plugins/git/gitplugin.cpp
@@ -507,10 +507,6 @@ bool GitPlugin::initialize(const QStringList &arguments, QString *errorMessage)
     return true;
 }
 
-void GitPlugin::extensionsInitialized()
-{
-}
-
 GitVersionControl *GitPlugin::gitVersionControl() const
 {
     return static_cast<GitVersionControl *>(versionControl());
diff --git a/src/plugins/git/gitplugin.h b/src/plugins/git/gitplugin.h
index 11c691fa509..676362cc690 100644
--- a/src/plugins/git/gitplugin.h
+++ b/src/plugins/git/gitplugin.h
@@ -91,7 +91,6 @@ public:
     static GitPlugin *instance();
 
     virtual bool initialize(const QStringList &arguments, QString *error_message);
-    virtual void extensionsInitialized();
 
     GitVersionControl *gitVersionControl() const;
 
diff --git a/src/plugins/mercurial/mercurialplugin.cpp b/src/plugins/mercurial/mercurialplugin.cpp
index abba36d1dd2..958e5ae058d 100644
--- a/src/plugins/mercurial/mercurialplugin.cpp
+++ b/src/plugins/mercurial/mercurialplugin.cpp
@@ -188,10 +188,6 @@ bool MercurialPlugin::initialize(const QStringList & /* arguments */, QString *
     return true;
 }
 
-void MercurialPlugin::extensionsInitialized()
-{
-}
-
 const MercurialSettings &MercurialPlugin::settings() const
 {
     return mercurialSettings;
diff --git a/src/plugins/mercurial/mercurialplugin.h b/src/plugins/mercurial/mercurialplugin.h
index b11ea076a4a..9c9d4b6a821 100644
--- a/src/plugins/mercurial/mercurialplugin.h
+++ b/src/plugins/mercurial/mercurialplugin.h
@@ -81,7 +81,7 @@ public:
     MercurialPlugin();
     virtual ~MercurialPlugin();
     bool initialize(const QStringList &arguments, QString *error_message);
-    void extensionsInitialized();
+
     static MercurialPlugin *instance() { return m_instance; }
     MercurialClient *client() const { return m_client; }
 
diff --git a/src/plugins/perforce/perforceplugin.cpp b/src/plugins/perforce/perforceplugin.cpp
index fe3cbb5a29a..eef5f6827b1 100644
--- a/src/plugins/perforce/perforceplugin.cpp
+++ b/src/plugins/perforce/perforceplugin.cpp
@@ -456,6 +456,7 @@ bool PerforcePlugin::initialize(const QStringList & /* arguments */, QString * e
 
 void PerforcePlugin::extensionsInitialized()
 {
+    VCSBase::VCSBasePlugin::extensionsInitialized();
     getTopLevel();
 }
 
diff --git a/src/plugins/subversion/subversionplugin.cpp b/src/plugins/subversion/subversionplugin.cpp
index bcc249ef5f8..b8f4971e599 100644
--- a/src/plugins/subversion/subversionplugin.cpp
+++ b/src/plugins/subversion/subversionplugin.cpp
@@ -440,10 +440,6 @@ bool SubversionPlugin::initialize(const QStringList & /*arguments */, QString *e
     return true;
 }
 
-void SubversionPlugin::extensionsInitialized()
-{
-}
-
 bool SubversionPlugin::submitEditorAboutToClose(VCSBase::VCSBaseSubmitEditor *submitEditor)
 {
     if (!isCommitEditorOpen())
diff --git a/src/plugins/subversion/subversionplugin.h b/src/plugins/subversion/subversionplugin.h
index 2a9283da2fa..349fe04e68b 100644
--- a/src/plugins/subversion/subversionplugin.h
+++ b/src/plugins/subversion/subversionplugin.h
@@ -81,7 +81,6 @@ public:
     ~SubversionPlugin();
 
     bool initialize(const QStringList &arguments, QString *error_message);
-    void extensionsInitialized();
 
     void svnDiff(const QString  &workingDir, const QStringList &files, QString diffname = QString());
 
diff --git a/src/plugins/vcsbase/vcsbaseplugin.cpp b/src/plugins/vcsbase/vcsbaseplugin.cpp
index 436920142f2..3c437fadd9d 100644
--- a/src/plugins/vcsbase/vcsbaseplugin.cpp
+++ b/src/plugins/vcsbase/vcsbaseplugin.cpp
@@ -165,7 +165,7 @@ public:
 signals:
     void stateChanged(const VCSBase::Internal::State &s, Core::IVersionControl *vc);
 
-private slots:
+public slots:
     void slotStateChanged();
 };
 
@@ -465,6 +465,12 @@ void VCSBasePlugin::initialize(Core::IVersionControl *vc)
             SLOT(slotStateChanged(VCSBase::Internal::State,Core::IVersionControl*)));
 }
 
+void VCSBasePlugin::extensionsInitialized()
+{
+    // Initialize enable menus.
+    VCSBasePluginPrivate::m_listener->slotStateChanged();
+}
+
 void VCSBasePlugin::slotSubmitEditorAboutToClose(VCSBaseSubmitEditor *submitEditor, bool *result)
 {
     if (debug)
diff --git a/src/plugins/vcsbase/vcsbaseplugin.h b/src/plugins/vcsbase/vcsbaseplugin.h
index de9e8412923..9574ee71b83 100644
--- a/src/plugins/vcsbase/vcsbaseplugin.h
+++ b/src/plugins/vcsbase/vcsbaseplugin.h
@@ -151,7 +151,8 @@ class VCSBASE_EXPORT VCSBasePlugin : public ExtensionSystem::IPlugin
 protected:
     explicit VCSBasePlugin(const QString &submitEditorId);
 
-    void initialize(Core::IVersionControl *vc);
+    virtual void initialize(Core::IVersionControl *vc);
+    virtual void extensionsInitialized();
 
 public:
     virtual ~VCSBasePlugin();
-- 
GitLab