Guard OpenGL mode on native Wayland

This commit is contained in:
2026-05-26 11:06:55 +03:00
parent 08c5f0ddb7
commit 762fad420e
3 changed files with 63 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
unit PlatformUtils;
{
PlatformUtils.pas - small helpers for desktop/runtime platform checks.
}
{$IFDEF FPC}
{$MODE Delphi}
{$ENDIF}
interface
function QtPlatformAllowsOpenGLControls: Boolean;
implementation
uses
SysUtils;
function QtPlatformAllowsOpenGLControls: Boolean;
var
Qpa, FirstQpa, SessionType: string;
Sep: Integer;
begin
Result := True;
Qpa := LowerCase(Trim(GetEnvironmentVariable('QT_QPA_PLATFORM')));
SessionType := LowerCase(Trim(GetEnvironmentVariable('XDG_SESSION_TYPE')));
if Qpa <> '' then
begin
FirstQpa := Qpa;
Sep := Pos(';', FirstQpa);
if Sep > 0 then
FirstQpa := Copy(FirstQpa, 1, Sep - 1);
Result := FirstQpa <> 'wayland';
Exit;
end;
Result := SessionType <> 'wayland';
end;
end.