Description:
I want to request and apply a hotfix. How to do this?
Answer:
When the report's status is "Fixed" , this means that a problem has been fixed, and a corresponding fix will be included in the next minor release. If an issue was critical and you do not want to wait for the next build release, you are welcome to request the fix immediately. To do this, simply click the "Request hotfix" link located at the bottom of the report's status panel:
When the patch is ready, you will receive a notification from our Support Center. A link to the patch will be located in the same place on a web page.
For more details about this service, please read Julian's blog:
Getting your fix: the DevExpress way
Please note that hotfixes are not available when we are preparing new minor builds for release (the "Request Fix" link will not be available). Usually it takes several days and it is much better to download the official release that contains your fix (and was deeply tested), rather than download an intermediate build.
Note that we apply a hotfix to the latest available minor version of a certain major build. For example, if we were reported about an issue in version 14.2.5 and the latest available version is 14.2.8, we apply the hotfix to the next 14.2.9 minor version and recommend that our customers upgrade to this version.
As it is mentioned in the Getting your fix: the DevExpress way blog post, there are three types of fixes we can provide to our VCL customers:
1. A small code fix for a certain *.pas file.
In this case, once you click a link to the patch, you will see a code snippet and a name of the unit where it is necessary to apply these code changes. There can be several different unit names and each may have its own required modification. For example, the fix can look like this:
DelphicxGridCustomView.pas:
procedure TcxCustomGridMovingObject.BeginDragAndDrop;
var
AArrowNumber: TcxGridArrowNumber;
begin
FDragImage := GetDragImageClass.Create;
InitDragImage;
for AArrowNumber := Low(Arrows) to High(Arrows) do
Arrows[AArrowNumber] := GetArrowClass.Create(DragImage.AlphaBlended);
GridView.Control.UpdateWithChildren;
inherited;
end;
This means that to fix the problem, you can find the cxGridCustomView.pas file among our sources (this particular file is in the *<DevExpress_InstallationFolder>\ExpressQuantumGrid\Sources* folder), open this file with a text editor (e.g., Notepad), find the TcxCustomGridMovingObject.BeginDragAndDrop procedure there, change its code to the one provided in the hotfix, save changes, and run our Installer in Recompile mode. As a result, our packages should be rebuilt and you will get a problem fixed.
2. A set of files (e.g., *.pas, *.res, *.dfm files) to replace the original files you've installed.
In certain cases, there can be so many code changes in a hotfix that it is inconvenient to provide them as code snippets. In this case, once you click a link to the patch, you will see another link or a number of links to download an archive. This archive contains a set of files which should replace corresponding files in our source folders. For example, the archive contains the cxGridCustomView.pas source file. This means that to fix the problem, you can find a folder where the file with the same name resides in our sources (for the cxGridCustomView.pas file, it is the *<DevExpress_InstallationFolder>\ExpressQuantumGrid\Sources* folder), replace the old file with the one you downloaded, and run our Installer in Recompile mode.
3. A complete intermediate (daily) build.
In rare cases, when many units are affected by the issue, we can provide a link to an intermediate build that can fix a problem. This build can be installed in the same manner as our minor builds. However, such builds are not completely tested, and it is better to wait for the official minor release.