Gtk3: fixed TGtk3Button OnClick

This commit is contained in:
zeljan1 2025-01-17 18:47:10 +01:00
parent acd16b6b41
commit 11d421735f

View File

@ -7472,12 +7472,12 @@ end;
class procedure TGtk3Button.ButtonClicked(aButton:PGtkButton; pData:pointer); class procedure TGtk3Button.ButtonClicked(aButton:PGtkButton; pData:pointer);
cdecl; cdecl;
var
Msg: TLMMouse;
begin begin
//This was wrong, why it must click in designer ? Msg := Default(TLMMouse);
// if not TGtk3Button(pData).IsDesigning then Msg.Msg := LM_CLICKED;
// exit; TGtk3Widget(pData).DeliverMessage(Msg, True);
// TCustomButton(pdata).Click; LM_CLICK is sent after mouserelease event
//
end; end;
procedure TGtk3Button.SetImage(AImage: TBitmap); procedure TGtk3Button.SetImage(AImage: TBitmap);
@ -7512,7 +7512,7 @@ begin
btn^.set_use_underline(true); btn^.set_use_underline(true);
if not IsDesigning then if not IsDesigning then
g_signal_connect_data(btn,'clicked', g_signal_connect_data(btn,'clicked',
TGCallback(@ButtonClicked), LCLObject, nil, G_CONNECT_DEFAULT); TGCallback(@ButtonClicked), Self, nil, G_CONNECT_DEFAULT);
if not IsDesigning then if not IsDesigning then
LCLObject.ControlStyle:=LCLObject.ControlStyle+[csClickEvents]; LCLObject.ControlStyle:=LCLObject.ControlStyle+[csClickEvents];
@ -8441,6 +8441,7 @@ begin
or GDK_KEY_RELEASE_MASK or GDK_KEY_PRESS_MASK); or GDK_KEY_RELEASE_MASK or GDK_KEY_PRESS_MASK);
end;} end;}
if (wtDialog in dlg.WidgetType) then if (wtDialog in dlg.WidgetType) then
begin begin
if Assigned(dlg.CommonDialog) then if Assigned(dlg.CommonDialog) then