From ea6fefa5338f2734be6d2ade0a9383e292767e89 Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Thu, 29 Sep 2005 17:42:01 +0000 Subject: INTEGRATION: CWS ab17fixes (1.22.8); FILE MERGED 2005/09/29 18:29:47 hr 1.22.8.2: #i10000: manual resync; repair broken CWS 2005/06/01 10:01:18 ab 1.22.8.1: #i48868# SbiRuntime: Block execution according to block flag --- basic/source/runtime/runtime.cxx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'basic') diff --git a/basic/source/runtime/runtime.cxx b/basic/source/runtime/runtime.cxx index d3ddc537c171..7752baaa4df8 100644 --- a/basic/source/runtime/runtime.cxx +++ b/basic/source/runtime/runtime.cxx @@ -4,9 +4,9 @@ * * $RCSfile: runtime.cxx,v $ * - * $Revision: 1.23 $ + * $Revision: 1.24 $ * - * last change: $Author: rt $ $Date: 2005-09-07 21:41:13 $ + * last change: $Author: hr $ $Date: 2005-09-29 18:42:01 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -510,6 +510,7 @@ SbiRuntime::SbiRuntime( SbModule* pm, SbMethod* pe, USHORT nStart ) bRun = bError = TRUE; bInError = FALSE; + bBlocked = FALSE; nLine = nCol1 = nCol2 = @@ -650,6 +651,13 @@ BOOL SbiRuntime::Step() if( !( ++nOps & 0x1F ) && pInst->IsReschedule() && bStaticGlobalEnableReschedule ) Application::Reschedule(); + // #i48868 blocked by next call level? + while( bBlocked ) + { + if( pInst->IsReschedule() && bStaticGlobalEnableReschedule ) + Application::Reschedule(); + } + SbiOpcode eOp = (SbiOpcode ) ( *pCode++ ); USHORT nOp1, nOp2; if( eOp <= SbOP0_END ) -- cgit