summaryrefslogtreecommitdiffstats
path: root/scilab
diff options
context:
space:
mode:
authorCedric Delamarre <cdl@esi-group.com>2020-11-24 16:59:02 +0100
committerCedric Delamarre <cdl@esi-group.com>2020-11-24 16:59:02 +0100
commita65902e29f9e3f5b9daadf80d6d95ca4f44fb1cd (patch)
tree42a3fe0f0984e71c99587afa17c64b9ce81e7ead /scilab
parentf22ae52e6421ebe598b338a3ef95f417915cb9ee (diff)
downloadscilab-a65902e29f9e3f5b9daadf80d6d95ca4f44fb1cd.zip
scilab-a65902e29f9e3f5b9daadf80d6d95ca4f44fb1cd.tar.gz
allow breapoints in graphic callbacks
Change-Id: Iaa635fd2b73e3d8b8170f30570a67fbe4225ff44
Diffstat (limited to 'scilab')
-rw-r--r--scilab/modules/action_binding/src/c/InterpreterManagement.c14
-rw-r--r--scilab/modules/ast/includes/system_env/configvariable_interface.h1
-rw-r--r--scilab/modules/ast/src/cpp/system_env/configvariable_interface.cpp5
3 files changed, 19 insertions, 1 deletions
diff --git a/scilab/modules/action_binding/src/c/InterpreterManagement.c b/scilab/modules/action_binding/src/c/InterpreterManagement.c
index 98f9c3c..b0b05d5 100644
--- a/scilab/modules/action_binding/src/c/InterpreterManagement.c
+++ b/scilab/modules/action_binding/src/c/InterpreterManagement.c
@@ -19,7 +19,19 @@
19/*--------------------------------------------------------------------------*/ 19/*--------------------------------------------------------------------------*/
20int putCommandInScilabQueue(char *command) 20int putCommandInScilabQueue(char *command)
21{ 21{
22 return StoreCommand(command); 22 if(isEnableDebug())
23 {
24 if(isDebugInterrupted())
25 {
26 return 1;
27 }
28
29 return debuggerManagerExecute(command);
30 }
31 else
32 {
33 return StoreCommand(command);
34 }
23} 35}
24/*--------------------------------------------------------------------------*/ 36/*--------------------------------------------------------------------------*/
25/* 37/*
diff --git a/scilab/modules/ast/includes/system_env/configvariable_interface.h b/scilab/modules/ast/includes/system_env/configvariable_interface.h
index 0b52408..7223126 100644
--- a/scilab/modules/ast/includes/system_env/configvariable_interface.h
+++ b/scilab/modules/ast/includes/system_env/configvariable_interface.h
@@ -81,6 +81,7 @@ EXTERN_AST dynlib_ptr getEntryPointFromPosition(int position);
81 81
82EXTERN_AST int isEnableDebug(); 82EXTERN_AST int isEnableDebug();
83EXTERN_AST int isDebugInterrupted(); 83EXTERN_AST int isDebugInterrupted();
84EXTERN_AST int debuggerManagerExecute(const char* command);
84 85
85EXTERN_AST int isExecutionBreak(); 86EXTERN_AST int isExecutionBreak();
86EXTERN_AST void setExecutionBreak(); 87EXTERN_AST void setExecutionBreak();
diff --git a/scilab/modules/ast/src/cpp/system_env/configvariable_interface.cpp b/scilab/modules/ast/src/cpp/system_env/configvariable_interface.cpp
index bb38085..be87993 100644
--- a/scilab/modules/ast/src/cpp/system_env/configvariable_interface.cpp
+++ b/scilab/modules/ast/src/cpp/system_env/configvariable_interface.cpp
@@ -246,6 +246,11 @@ int isDebugInterrupted()
246 return debugger::DebuggerManager::getInstance()->isInterrupted() ? 1 : 0; 246 return debugger::DebuggerManager::getInstance()->isInterrupted() ? 1 : 0;
247} 247}
248 248
249int debuggerManagerExecute(const char* command)
250{
251 return debugger::DebuggerManager::getInstance()->execute(command) ? 1 : 0;
252}
253
249int isExecutionBreak() 254int isExecutionBreak()
250{ 255{
251 return ConfigVariable::isExecutionBreak() ? 1 : 0; 256 return ConfigVariable::isExecutionBreak() ? 1 : 0;