# HG changeset patch # User Steve Losh # Date 1479993588 0 # Node ID 165f6873f5dde0c3e250ee89ab8846602ef9a25b # Parent 38dbcc76d3d0c0720dd3e99e04e7d87c3666a8ab Handle invalid register values gracefully diff -r 38dbcc76d3d0 -r 165f6873f5dd src/debugger.lisp --- a/src/debugger.lisp Thu Nov 24 13:14:51 2016 +0000 +++ b/src/debugger.lisp Thu Nov 24 13:19:48 2016 +0000 @@ -246,16 +246,16 @@ (define-override (registers-model set-data) (index value role) (if (and (registers-index-valid-p index) (eql role (q+:qt.edit-role))) - (let ((row (q+:row index))) - (setf (registers-value chip row) - (parse-hex value (registers-max-value row))) - (signal! registers-model (data-changed "QModelIndex" "QModelIndex") - index index) + (let* ((row (q+:row index)) + (val (parse-hex value (registers-max-value row)))) + (when val + (setf (registers-value chip row) val) + (signal! registers-model (data-changed "QModelIndex" "QModelIndex") + index index)) t) nil)) - ;;;; Layout (defun registers-refresh (model view address) (declare (ignore view address))