This morning an
issue was reported that using the win32 widget set,"RadioButton changes its state (becomes checked) when selected with Tab key". I could reproduce the issue easily and I remember that I had seen some code in the win32callback.inc file that sets the radiobuttons explictly using the BM_SETCHECK message. In Lazarus, I used
Find in files searching in the lcl\interfaces\win32 directory, I found the piece of code rapidly, the WM_SETFOCUS handler around line 2084. The next step was to use svn annotate on the file, which returns the
file with a note in which revision the lastest change has been made and by who. Then the
patch and the log
message are just a mouse click away:
moved checking of radiobutton to wm_setfocus, so keyboard action is handled too (issue 1171)
Now, resolving this report is easy. Either closing it as
won't fix: it is as designed or revert the change of revision 8017. The hard part is to decide what is the best behavior.
Without using SVN or bugtracker, all this would depend on people's memory. I would not have remembered it after almost 3 years. The most important lesson for me, is that it showed how vital it is to put the issue number in the svn log message, otherwise you loose the track from change in source to bug report.