- Код: Выделить всё
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, OpenGLContext, Forms, Controls, Graphics, Dialogs, StdCtrls, gl;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
OpenGLControl1: TOpenGLControl;
procedure Button1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
glClearColor(0,0.5,0,1);
glClear(GL_COLOR_BUFFER_BIT);
OpenGLControl1.SwapBuffers;
end;
end.
Вот так выглядит тестирующая прога, и это работает без проблем, но на Минт 19 возникает ошибка во время закрытия программы.
На сколько я понимаю ReleaseContext(); должен вызывать сам OpenGLControl, где-то во время своего уничтожения.
Пример я пробовал, но как и ожидалось ошибка так же возникает.
Ошибка видимо где-то в инициализации контекста или в его удалении, но по каким-то причинам она не проявляется в более ранних версиях Линукс Минт.
Добавлено спустя 2 минуты 2 секунды:Забыл добавить, если не нажимать кнопку, то ошибки не будет.
Поэтому ошибка может быть в реализации метода SwapBuffers.