diff --git a/internal/support/vwatch/vwatch.bm b/internal/support/vwatch/vwatch.bm index 772d22e72..e745d828e 100644 --- a/internal/support/vwatch/vwatch.bm +++ b/internal/support/vwatch/vwatch.bm @@ -3,7 +3,7 @@ $CHECKING:OFF SUB vwatch (globalVariables AS _OFFSET, localVariables AS _OFFSET) STATIC AS LONG vw_ideHost, vw_breakpointCount, vw_skipCount, vw_timeout, vw_startLevel, vw_lastLine STATIC AS LONG vw_runToLine - STATIC AS _BYTE vw_pauseMode, vw_stepOver, vw_bypass, vw_setNextLine + STATIC AS _BYTE vw_pauseMode, vw_stepOver, vw_bypass, vw_setNextLine, vw_hwndsent STATIC AS _OFFSET vw_idehwnd STATIC vw_buffer$, vw_endc$ DIM AS LONG vw_i, vw_tempIndex, vw_localIndex, vw_varSize, vw_sequence @@ -34,8 +34,11 @@ SUB vwatch (globalVariables AS _OFFSET, localVariables AS _OFFSET) 'send this binary's path/exe name vw_cmd$ = "me:" + COMMAND$(0) GOSUB SendCommand - vw_cmd$ = "hwnd:" + _MK$(_OFFSET, _WINDOWHANDLE) - GOSUB SendCommand + IF _WINDOWHANDLE THEN + vw_hwndsent = -1 + vw_cmd$ = "hwnd:" + _MK$(_OFFSET, _WINDOWHANDLE) + GOSUB SendCommand + END IF DO GOSUB GetCommand @@ -90,6 +93,12 @@ SUB vwatch (globalVariables AS _OFFSET, localVariables AS _OFFSET) LOOP END IF + IF vw_hwndsent = 0 AND _WINDOWHANDLE > 0 THEN + vw_hwndsent = -1 + vw_cmd$ = "hwnd:" + _MK$(_OFFSET, _WINDOWHANDLE) + GOSUB SendCommand + END IF + IF vwatch_linenumber = 0 THEN GOSUB SendCallStack vw_cmd$ = "quit:Program ended." diff --git a/source/ide/ide_methods.bas b/source/ide/ide_methods.bas index 151021418..9d4c81b5f 100644 --- a/source/ide/ide_methods.bas +++ b/source/ide/ide_methods.bas @@ -6525,8 +6525,6 @@ SUB DebugMode WHILE _MOUSEINPUT: WEND EXIT SUB END IF - CASE "hwnd" - debuggeehwnd = _CV(_OFFSET, value$) EXIT DO END SELECT LOOP @@ -7392,6 +7390,8 @@ SUB DebugMode END IF LOOP END IF + CASE "hwnd" + debuggeehwnd = _CV(_OFFSET, value$) CASE "global var", "local var" tempIndex& = CVL(LEFT$(value$, 4)) address%& = _CV(_OFFSET, MID$(value$, 5))