Make sure width / height parameters are non-negative when informing GDB about console size
When the console view is made invisible via resizing new, `#widthInChars` / `#heightInChars` might be
`-1`, causing error when informing GDB. This commit makes sure it always non-negative (i.e, 0 or more)
"
jv:vdb - Visual / VM Debugger
Copyright (C) 2015-now Jan Vrany
Copyright (C) 2020 LabWare
This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
"
"{ Package: 'jv:vdb' }"
"{ NameSpace: Smalltalk }"
VDBAbstractUnixConsoleApplication subclass:#VDBUnixDebuggerConsoleApplication
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
category:'VDB-UI-Console-Unix'
!
!VDBUnixDebuggerConsoleApplication class methodsFor:'documentation'!
copyright
"
jv:vdb - Visual / VM Debugger
Copyright (C) 2015-now Jan Vrany
Copyright (C) 2020 LabWare
This software is licensed under 'Creative Commons Attribution-NonCommercial 4.0 International License'
You may find a full license text in LICENSE.txt or at http://creativecommons.org/licenses/by-nc/4.0/
"
! !
!VDBUnixDebuggerConsoleApplication class methodsFor:'accessing'!
defaultWindowTitle
^ self resources string: 'Debugger Console'
"Created: / 08-01-2018 / 18:59:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 03-10-2018 / 15:39:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!VDBUnixDebuggerConsoleApplication class methodsFor:'startup-web applications'!
initialPageSpec
"this is only required for web-applications"
^ self shouldImplement
!
pageSpecs
"this is only required for web-applications"
^ self shouldImplement
! !
!VDBUnixDebuggerConsoleApplication methodsFor:'accessing'!
consoleInput
"superclass VDBAbstractConsoleApplication says that I am responsible to implement this method"
^ debugger consoleInput
"Modified: / 01-06-2017 / 09:45:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
consoleOutput
"superclass VDBAbstractConsoleApplication says that I am responsible to implement this method"
^ debugger consoleOutput
"Modified: / 01-06-2017 / 09:46:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!VDBUnixDebuggerConsoleApplication methodsFor:'change & update'!
enqueueDelayedUpdateSize
self enqueueMessage:#delayedUpdateSize
"Created: / 20-05-2019 / 11:57:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
update:aspect with:aParameter from:changedObject
changedObject == consoleView ifTrue:[
aspect == #sizeOfView ifTrue:[
self enqueueDelayedUpdateSize
].
].
^ super update:aspect with:aParameter from:changedObject
"Created: / 20-05-2019 / 11:54:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!VDBUnixDebuggerConsoleApplication methodsFor:'change & update-delayed'!
delayedUpdateSize
debugger notNil ifTrue:[
debugger setParameter: 'width' to: (consoleView widthInChars max: 0) printString.
debugger setParameter: 'height' to: (consoleView heightInChars max: 0) printString.
]
"Created: / 20-05-2019 / 13:35:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 16-11-2020 / 21:46:52 / Jan Vrany <jan.vrany@labware.com>"
! !
!VDBUnixDebuggerConsoleApplication methodsFor:'initialization & release'!
initializeConsoleView: aTerminalView forDebugger: aGDBDebugger
super initializeConsoleView: aTerminalView forDebugger: aGDBDebugger.
aGDBDebugger notNil ifTrue:[
self enqueueDelayedUpdateSize
].
"Created: / 20-05-2019 / 13:36:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!VDBUnixDebuggerConsoleApplication class methodsFor:'documentation'!
version_HG
^ '$Changeset: <not expanded> $'
! !