If I remember correctly the bug that you suffer from was fixed in a single line change:
- Open source file dbcombobox.inc, it is in folder lcl/include of your Lazarus installation
- Find the procedure and add the line FDataLink.Modified as shown below (to be on the safe side, make a backup copy of the file before you change it):
procedure TDBComboBox.Select;
begin
//avoid reseting text when calling select
FDataLink.OnDataChange := nil;
try
if FDataLink.Edit then
begin
FDataLink.Modified; // <---- ADD THIS LINE
FDataLink.UpdateData;
inherited Select;
end
else
begin
FDatalink.Reset;
DataChange(Self);
end;
finally
FDataLink.OnDataChange := @DataChange;
end;
end;
- Then recompile your program, Lazarus will automatically recompile the modified DBCombobox.
When a new version will be released this fix will be contained automatically.
"Trunk" is the development version of Lazarus - this is what will be released as Lazarus 1.10 or 2.0. You can get it with svn as described by GetMem. It is remarkably stable, I work with it regularly. But of course, fatal issues can occur from time to time, if they are not fixed within a few days write a message to the Lazarus mailing list. Or you can revert to an older revision with svn easily, normally you don't need the ultra-freshest version.
"fixes" is the branch preparing for bug-fix release of the current version, 1.8. You work with it in the same way, but containing less experimental code, its stability should be better than that of trunk although very rare fatal issues cannot be excluded.