View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000161 | Gorilla3D | Bug Reports | public | 2021-04-23 06:31 | 2021-04-23 11:29 |
Reporter | administrator | Assigned To | administrator | ||
Priority | immediate | Severity | crash | Reproducibility | sometimes |
Status | resolved | Resolution | fixed | ||
Product Version | 0.8.3.x | ||||
Target Version | 0.8.3.x | Fixed in Version | 0.8.3.x | ||
Summary | 0000161: Bug: IDE crashes on working with empty project | ||||
Description | The IDE works on Win32 basis with DirectX. This context can not be cleared due to a fmx bug. Bug was reported. Hopefully it's getting fixed in new releases. For elder versions we found a dirty hack by ASM source reading. | ||||
Tags | No tags attached. | ||||
Delphi-Version | 10.1.1 | ||||
OpenGLVersion | OpenGL 4.3 | ||||
|
A fix was implemented and will be available from v0.8.3.1858+ There is a bug in TContextManager.Uninitialize(), where FContextList will be cleared, but FDefaultContextClass not. This is getting important at designtime. The IDE automatically registers a DirectX context on Win32 platform. And even we register our context class, the previously declared DirectX class will be used. This leads to missing classes and unsupported GPU commands. When opening a Gorilla3D project directly, our context will be registered at first and the problem didn't occur. The issue was reported to Embarcadero. Our fix for elder versions 10.1.1 - 10.4.2 will do: + detect the exact compiler build number (because method offsets are compiler dependent) + read the "TContextManager.InitializeShader" method, which is public, by TRttiInstanceType + we then have researched all offsets for all compilers + those are added to the "InitializeShader"-address + then we read the global variable address for TContextManager.FDefaultContextClass directly from ASM source code This is very dirty and only works for Win32. But because Delphi IDE is only Win32, we can go that way. Hopefully in future it will be solved by Embarcadero. |
Date Modified | Username | Field | Change |
---|---|---|---|
2021-04-23 06:31 | administrator | New Issue | |
2021-04-23 06:31 | administrator | Status | new => assigned |
2021-04-23 06:31 | administrator | Assigned To | => administrator |
2021-04-23 11:29 | administrator | Status | assigned => resolved |
2021-04-23 11:29 | administrator | Resolution | open => fixed |
2021-04-23 11:29 | administrator | Fixed in Version | => 0.8.3.x |
2021-04-23 11:29 | administrator | Note Added: 0000174 |