Hello there,
we recently discovered a way to make our entire application crash. To reproduce we simply need a TNxTextColumn6 with ShowTextFitHint set to True. At runtime, hovering over a truncated cell of that column does display a hint with the entire content, as expected.
But after enough repetitions of that hovering, the entire software crashes. This happen on every form using a TNextGrid6.
Setting ShowTextFitHint to False seems to "fix" the crash, but obviously the user has to manually resize the column width to read a truncated cell content.
Delphi's call stack at the crash shows as follows :
(...)
System.Classes.StdWndProc(0,0,0,0)
System.Classes.StdWndProc(0,0,0,0)
System.Classes.StdWndProc(0,0,0,0)
System.Classes.StdWndProc(0,0,0,0)
System.Classes.StdWndProc(0,0,0,0)
System.Classes.StdWndProc(0,0,0,0)
System.Classes.StdWndProc(0,0,0,0)
System.Classes.StdWndProc(1698520,0,0,0)
System.Classes.StdWndProc(0,1698520,0,0)
System.Classes.StdWndProc(129,0,1698520,0)
System.Classes.StdWndProc(920850,129,0,1698520)
Vcl.Controls.InitWndProc(920850,129,0,1698520)
Winapi.Windows.CreateWindowEx(???,???,'COMMANDE PARTIE AVEC UNE COMMANDE MAGASIN',2155872256,1477,606,301,21,592918,0,4194304,nil)
Vcl.Controls.TWinControl.CreateWindowHandle($19EFF0)
Vcl.Controls.TWinControl.CreateWnd
Vcl.Controls.TWinControl.CreateHandle
Vcl.Controls.TWinControl.HandleNeeded
Vcl.Controls.TWinControl.GetHandle
Vcl.Controls.THintWindow.ActivateHint((1477, 606, 1778, 627, (1477, 606), (1778, 627)),???)
Vcl.Controls.TControl.WMMouseMove(???)
Vcl.Controls.TWinControl.WndProc((512, 0, 6292707, 0, 0, 0, (), 1251, 96, (), 0, 0, ()))
Vcl.Controls.TWinControl.MainWndProc(???)
System.Classes.StdWndProc(526696,512,0,6292707)
Vcl.Forms.TApplication.ProcessMessage(???)
(I've removed the hundreds of calls to System.Classes.StdWndProc(0,0,0,0) that lead to Windows killing the process.)
Notice how after InitWndProc, every successive call to StdWndProc offsets the parameters one step to the left until all that remains is 0,0,0,0.
Thanks a lot for any help, even if we have a cheap workaround with disabling ShowTextFitHint, I would love to understand what's causing this, especially since some people in my team swear this didn't happen before.
Max.
Environment :
- Delphi 10.1 (32bit application)
- Windows 10 Pro 64 bits
- TNextGrid6 version: 6.0.45