LCL-GTK3: Fix menu radio group. Issue #34350, patch from Anton Kavalenka.

git-svn-id: trunk@59191 -
This commit is contained in:
juha 2018-09-30 11:32:10 +00:00
parent 6febd8c78e
commit ec579d65bc

View File

@ -4293,13 +4293,32 @@ begin
end;
function TGtk3MenuItem.CreateWidget(const Params: TCreateParams): PGtkWidget;
var
ndx:integer;
pmenu:TMenuItem;
pl:PGsList;
begin
FWidgetType := [wtWidget, wtMenuItem];
if MenuItem.Caption = cLineCaption then
Result := TGtkSeparatorMenuItem.new
else
if MenuItem.RadioItem and not MenuItem.HasIcon then
Result := TGtkRadioMenuItem.new(nil)
begin
Result := TGtkRadioMenuItem.new(nil);
if Assigned(menuItem.Parent) then
begin
ndx:=menuItem.Parent.IndexOf(MenuItem);
if (ndx>0) then
begin
pMenu:=menuItem.Parent.Items[ndx-1];
if (MenuItem.GroupIndex>0) and (pMenu.GroupIndex=MenuItem.GroupIndex) then
begin
pl:=PGtkRadioMenuItem(TGtk3MenuItem(pMenu.Handle).Widget)^.get_group;
PGtkRadioMenuItem(Result)^.set_group(pl);
end;
end;
end;
end
else
if MenuItem.IsCheckItem or MenuItem.HasIcon then
Result := TGtkCheckMenuItem.new