[rkward-cvs] SF.net SVN: rkward:[3182] branches/2010_10_18_backend_restructuring_branch/ rkward/rbackend/rkrbackend.cpp

tfry at users.sourceforge.net tfry at users.sourceforge.net
Tue Nov 9 11:38:58 UTC 2010


Revision: 3182
          http://rkward.svn.sourceforge.net/rkward/?rev=3182&view=rev
Author:   tfry
Date:     2010-11-09 11:38:58 +0000 (Tue, 09 Nov 2010)

Log Message:
-----------
Fix a few false positive detections of interrupts

Modified Paths:
--------------
    branches/2010_10_18_backend_restructuring_branch/rkward/rbackend/rkrbackend.cpp

Modified: branches/2010_10_18_backend_restructuring_branch/rkward/rbackend/rkrbackend.cpp
===================================================================
--- branches/2010_10_18_backend_restructuring_branch/rkward/rbackend/rkrbackend.cpp	2010-11-07 12:32:23 UTC (rev 3181)
+++ branches/2010_10_18_backend_restructuring_branch/rkward/rbackend/rkrbackend.cpp	2010-11-09 11:38:58 UTC (rev 3182)
@@ -706,8 +706,10 @@
 		// NOTE: if R_interrupts_pending stops being exported one day, we might be able to use R_CheckUserInterrupt() inside an R_ToplevelExec() to find out, whether an interrupt was still pending.
 		if (!R_interrupts_pending) {
 			RKRBackend::repl_status.interrupted = false;
-			foreach (RCommandProxy *command, RKRBackend::this_pointer->all_current_commands) command->status |= RCommand::Canceled;
-			RK_DO (qDebug ("interrupted"), RBACKEND, DL_DEBUG);
+			if (!RKRBackend::repl_status.user_command_status == RKRBackend::RKReplStatus::ReplIterationKilled) {	// was interrupted only to step out of the repl iteration
+				foreach (RCommandProxy *command, RKRBackend::this_pointer->all_current_commands) command->status |= RCommand::Canceled;
+				RK_DO (qDebug ("interrupted"), RBACKEND, DL_DEBUG);
+			}
 		}
 	} else {
 		QString string = RKRSupport::SEXPToString (call);


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the rkward-tracker mailing list