CudaText for Linux gtk2 x64.
its Python API fails when it reads current form, after plugin shows
InputQuery dialog.
I added test ShowMessage near the showing InputQuery and found that
after InputQ call, program reads empty Screen.ActiveForm.
marked by comment.
is it LCL bug?
LCL must restore ActiveForm after InputQuery.
IDE r63175.
function Py_dlg_input(Self, Args : PPyObject): PPyObject; cdecl;
var
P1, P2: PChar;
StrCaption, StrVal: string;
t: string;
begin
with AppPython.Engine do
if Bool(PyArg_ParseTuple(Args, 'ss:dlg_input', @P1, @P2)) then
begin
StrCaption:= string(P1);
StrVal:= string(P2);
t:= screen.ActiveForm.caption;////this works
if InputQuery(msgTitle, StrCaption, StrVal) then
Result:= PyString_FromString(PChar(StrVal))
else
Result:= ReturnNone;
t+= ', '+screen.ActiveForm.caption; //this crashes
showmessage(t);
end
else
Result:= ReturnNone;
end;
Alexey Torgashin
--
_______________________________________________
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus