Handle invalid register values gracefully
    
        | author | Steve Losh <steve@stevelosh.com> | 
    
        | date | Thu, 24 Nov 2016 13:19:48 +0000 | 
    
    
        | parents | 38dbcc76d3d0 | 
    
        | children | c96b71d08dfd | 
    
        | branches/tags | (none) | 
    
        | files | src/debugger.lisp | 
Changes
    
--- 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))