From: <su...@us...> - 2008-08-06 13:06:02
|
Revision: 2935 http://tora.svn.sourceforge.net/tora/?rev=2935&view=rev Author: subik Date: 2008-08-06 13:06:11 +0000 (Wed, 06 Aug 2008) Log Message: ----------- some freezes fixed (let's hope in it) Modified Paths: -------------- trunk/tora/src/todebug.cpp trunk/tora/src/todebug.h Modified: trunk/tora/src/todebug.cpp =================================================================== --- trunk/tora/src/todebug.cpp 2008-08-06 12:02:24 UTC (rev 2934) +++ trunk/tora/src/todebug.cpp 2008-08-06 13:06:11 UTC (rev 2935) @@ -426,6 +426,7 @@ toQuery init(Connection, SQLDebugInit); Parent.DebuggerStarted = true; + Parent.enableDebugger(true); toLocker lock (Parent.Lock); Parent.TargetID = init.readValue(); Parent.ChildSemaphore.up(); @@ -437,6 +438,7 @@ Parent.TargetLog += QString::fromLatin1("Couldn't start debugging:"); Parent.TargetLog += exc; Parent.DebuggerStarted = false; + Parent.enableDebugger(false); Parent.ChildSemaphore.up(); return ; } @@ -462,7 +464,7 @@ Parent.InputData.clear(); // To make sure data is not shared Parent.OutputData.clear(); } - Parent.StartedSemaphore.up(); +// Parent.StartedSemaphore.up(); if (sql.isEmpty()) break; @@ -504,6 +506,7 @@ TOCATCH toLocker lock (Parent.Lock); Parent.DebuggerStarted = false; + Parent.enableDebugger(false); Parent.TargetLog += QString::fromLatin1("Closing debug session\n"); Parent.TargetThread = NULL; Parent.ChildSemaphore.up(); @@ -866,7 +869,7 @@ TargetSQL = toDeepCopy(sql); // Deep copy of SQL TargetSemaphore.up(); // Go go power rangers! } - StartedSemaphore.down(); +// StartedSemaphore.down(); if (sync() >= 0 && RunningTarget) continueExecution(TO_BREAK_ANY_CALL); } @@ -1713,7 +1716,7 @@ void toDebug::executeInTarget(const QString &str, toQList ¶ms) { -// qDebug() << "toDebug::executeInTarget 1"; +// qDebug() << "toDebug::executeInTarget 1" << str; toBusy busy; { toLocker lock (Lock); @@ -1721,7 +1724,7 @@ InputData = params; TargetSemaphore.up(); } - StartedSemaphore.down(); +// StartedSemaphore.down(); int ret = sync(); while (ret >= 0 && ret != TO_REASON_EXIT && ret != TO_REASON_KNL_EXIT && RunningTarget) @@ -1918,6 +1921,23 @@ } +void toDebug::enableDebugger(bool enable) +{ + executeAct->setEnabled(enable); + stopAct->setEnabled(enable); + stepAct->setEnabled(enable); + nextAct->setEnabled(enable); + returnAct->setEnabled(enable); + debugPaneAct->setEnabled(enable); + nextErrorAct->setEnabled(enable); + previousErrorAct->setEnabled(enable); + toggleBreakAct->setEnabled(enable); + disableBreakAct->setEnabled(enable); + addWatchAct->setEnabled(enable); + deleteWatchAct->setEnabled(enable); + changeWatchAct->setEnabled(enable); +} + void toDebug::createActions(void) { refreshAct = new QAction(QIcon(QPixmap(const_cast<const char**>(refresh_xpm))), Modified: trunk/tora/src/todebug.h =================================================================== --- trunk/tora/src/todebug.h 2008-08-06 12:02:24 UTC (rev 2934) +++ trunk/tora/src/todebug.h 2008-08-06 13:06:11 UTC (rev 2935) @@ -177,6 +177,11 @@ // End of lock stuff toTimer StartTimer; + /*! \brief Enable/disable debugging related actions (steps etc.). + It's set to false when DBMS_DEBUG related calls fail. + */ + void enableDebugger(bool); + class targetTask : public toTask { toDebug &Parent; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |