From 4b779ac15bd834abd561a1f73f4922f70501aba0 Mon Sep 17 00:00:00 2001 From: juha Date: Thu, 23 Jul 2020 19:45:33 +0000 Subject: [PATCH] OpenGlContext: Register WS class, needed for new optimized TLCLComponent.NewInstance. Issue #37407, patch from BrunoK. git-svn-id: trunk@63636 - --- components/opengl/openglcontext.pas | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/components/opengl/openglcontext.pas b/components/opengl/openglcontext.pas index 09da999c74..6db7976acc 100644 --- a/components/opengl/openglcontext.pas +++ b/components/opengl/openglcontext.pas @@ -180,6 +180,7 @@ type procedure SetSharedControl(const AValue: TCustomOpenGLControl); function IsOpenGLRenderAllowed: boolean; protected + class procedure WSRegisterClass; override; procedure WMPaint(var Message: TLMPaint); message LM_PAINT; procedure WMSize(var Message: TLMSize); message LM_SIZE; procedure UpdateFrameTimeDiff; @@ -484,6 +485,17 @@ begin (ocoRenderAtDesignTime in Options); end; +class procedure TCustomOpenGLControl.WSRegisterClass; +const + Registered : Boolean = False; +begin + if Registered then + Exit; + inherited WSRegisterClass; + RegisterWSComponent(TCustomOpenGLControl,TWSOpenGLControl); + Registered := True; +end; + procedure TCustomOpenGLControl.WMPaint(var Message: TLMPaint); begin Include(FControlState, csCustomPaint); @@ -749,8 +761,9 @@ begin Result := False; if AWinControl=nil then ; end; - +{~bk initialization RegisterWSComponent(TCustomOpenGLControl,TWSOpenGLControl); +} end.