From adf4d50f6e50ac4fa93e5750a4b9e3bbecc7b6fe Mon Sep 17 00:00:00 2001 From: FellippeHeitor Date: Fri, 30 Jul 2021 19:30:06 -0300 Subject: [PATCH] Fixes issue causing problems with multiple instances of the IDE. For future generations: STATIC array in a SUB/FUNCTION has something broken. So broken it breaks other stuff with it. Requires investigation. --- source/ide/ide_methods.bas | 50 ++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/source/ide/ide_methods.bas b/source/ide/ide_methods.bas index 598c929a0..fb3a6766f 100644 --- a/source/ide/ide_methods.bas +++ b/source/ide/ide_methods.bas @@ -6391,6 +6391,30 @@ SUB DebugMode AS INTEGER x, y, w, h AS STRING caption END TYPE + DIM Button(1 TO 8) AS ui + i = 0 + i = i + 1: Button(i).Caption = "" + i = i + 1: Button(i).Caption = "" + i = i + 1: Button(i).Caption = "" + i = i + 1: Button(i).Caption = "" + i = i + 1: Button(i).Caption = "" + i = i + 1: Button(i).Caption = "" + i = i + 1: Button(i).Caption = "" + i = i + 1: Button(i).Caption = "" + y = (idewy - 4) + 2 + x = 2 + FOR i = 1 TO UBOUND(Button) + Button(i).x = x + Button(i).y = y + Button(i).w = LEN(Button(i).Caption) + IF i < UBOUND(Button) THEN + x = x + Button(i).w + 1 + IF x + LEN(Button(i + 1).Caption) > idewx - 1 THEN + y = y + 1 + x = 2 + END IF + END IF + NEXT SELECT EVERYCASE IdeDebugMode CASE 1 @@ -6414,32 +6438,6 @@ SUB DebugMode vWatchPanel.x = idewx - vWatchPanel.w - 6 vWatchPanel.y = 4 vWatchPanel.firstVisible = 1 - - STATIC Button(1 TO 8) AS ui - i = 0 - i = i + 1: Button(i).Caption = "" - i = i + 1: Button(i).Caption = "" - i = i + 1: Button(i).Caption = "" - i = i + 1: Button(i).Caption = "" - i = i + 1: Button(i).Caption = "" - i = i + 1: Button(i).Caption = "" - i = i + 1: Button(i).Caption = "" - i = i + 1: Button(i).Caption = "" - y = (idewy - 4) + 2 - x = 2 - FOR i = 1 TO UBOUND(Button) - Button(i).x = x - Button(i).y = y - Button(i).w = LEN(Button(i).Caption) - IF i < UBOUND(Button) THEN - x = x + Button(i).w + 1 - IF x + LEN(Button(i + 1).Caption) > idewx - 1 THEN - y = y + 1 - x = 2 - END IF - END IF - NEXT - CASE IS > 1 noFocusMessage = NOT noFocusMessage GOSUB UpdateStatusArea