diff options
author | Clinton Stimpson <clinton@elemtech.com> | 2012-01-02 18:07:43 (GMT) |
---|---|---|
committer | Clinton Stimpson <clinton@elemtech.com> | 2012-01-02 18:07:43 (GMT) |
commit | 131eed660716a2a8b52a6956f8e8a136425c404e (patch) | |
tree | 99ba06a0196fc4bc6e8eb84b1ff75fc984e89b92 /Source/QtDialog/QCMake.h | |
parent | 40aedcbbaeddcb7e088c56e30f4252171e920baa (diff) | |
download | CMake-131eed660716a2a8b52a6956f8e8a136425c404e.zip CMake-131eed660716a2a8b52a6956f8e8a136425c404e.tar.gz CMake-131eed660716a2a8b52a6956f8e8a136425c404e.tar.bz2 |
cmake-gui: Improve interrupt granularity to fix bug 12649.
Instead of enabling interrupt only when a progress or message callback is called, add a new callback specifically for
interrupt. This new callback is called from GetFatalErrorOccured() so cmake-gui can immediately report interrupt status
instead of calling queuing a call to cmSystemTools::SetFatalErrorOccured() and waiting for the progress or message
callback to be called to process that queued call.
Diffstat (limited to 'Source/QtDialog/QCMake.h')
-rw-r--r-- | Source/QtDialog/QCMake.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Source/QtDialog/QCMake.h b/Source/QtDialog/QCMake.h index 0d10823..0d68586 100644 --- a/Source/QtDialog/QCMake.h +++ b/Source/QtDialog/QCMake.h @@ -23,6 +23,7 @@ #include <QList> #include <QStringList> #include <QMetaType> +#include <QAtomicInt> class cmake; @@ -78,7 +79,7 @@ public slots: void generate(); /// set the property values void setProperties(const QCMakePropertyList&); - /// interrupt the configure or generate process + /// interrupt the configure or generate process (if connecting, make a direct connection) void interrupt(); /// delete the cache in binary directory void deleteCache(); @@ -133,6 +134,7 @@ signals: protected: cmake* CMakeInstance; + static bool interruptCallback(void*); static void progressCallback(const char* msg, float percent, void* cd); static void errorCallback(const char* msg, const char* title, bool&, void* cd); @@ -145,6 +147,7 @@ protected: QString Generator; QStringList AvailableGenerators; QString CMakeExecutable; + QAtomicInt InterruptFlag; }; #endif // __QCMake_h |