Qt5, Qt6: make sure pushbutton is unblocked, but also there's no segfault.

This commit is contained in:
zeljan1 2025-02-23 18:56:37 +01:00
parent 6f3d1328a7
commit bf52173a6f
2 changed files with 6 additions and 4 deletions

View File

@ -6310,7 +6310,8 @@ end;
procedure TQtPushButton.PushButtonUnblock(Data: PtrInt);
begin
QObject_blockSignals(QObjectH(Data), False);
if QtWidgetSet.IsValidHandle(Data) then
QObject_blockSignals(TQtPushButton(Data).Widget, False);
end;
function TQtPushButton.EventFilter(Sender: QObjectH; Event: QEventH): Boolean;
@ -6326,7 +6327,7 @@ begin
(QWidget_focusPolicy(Widget) > QtNoFocus) then
begin
QObject_blockSignals(Sender, True);
Application.QueueAsyncCall(@PushButtonUnblock, PtrInt(Sender));
Application.QueueAsyncCall(@PushButtonUnblock, PtrInt(Self));
end;
end;
else

View File

@ -6255,7 +6255,8 @@ end;
procedure TQtPushButton.PushButtonUnblock(Data: PtrInt);
begin
QObject_blockSignals(QObjectH(Data), False);
if QtWidgetSet.IsValidHandle(Data) then
QObject_blockSignals(TQtPushButton(Data).Widget, False);
end;
function TQtPushButton.EventFilter(Sender: QObjectH; Event: QEventH): Boolean;
@ -6271,7 +6272,7 @@ begin
(QWidget_focusPolicy(Widget) > QtNoFocus) then
begin
QObject_blockSignals(Sender, True);
Application.QueueAsyncCall(@PushButtonUnblock, PtrInt(Sender));
Application.QueueAsyncCall(@PushButtonUnblock, PtrInt(Self));
end;
end;
else