mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-17 15:59:13 +02:00
IDE: fixed crash popup menu unhide msg type
git-svn-id: trunk@45110 -
This commit is contained in:
parent
6907de1248
commit
9df573888e
@ -471,9 +471,9 @@ var
|
|||||||
MsgQuickFixMenuSection: TIDEMenuSection;
|
MsgQuickFixMenuSection: TIDEMenuSection;
|
||||||
MsgClearMenuItem: TIDEMenuCommand;
|
MsgClearMenuItem: TIDEMenuCommand;
|
||||||
MsgHideMsgOfTypeMenuItem: TIDEMenuCommand;
|
MsgHideMsgOfTypeMenuItem: TIDEMenuCommand;
|
||||||
MsgUnhideMsgTypeMenuSection: TIDEMenuSection;
|
MsgUnhideMsgTypesMenuSection: TIDEMenuSection;
|
||||||
MsgUnhideMsgOfTypeMenuSection: TIDEMenuSection;
|
MsgUnhideMsgOneTypeMenuSection: TIDEMenuSection;
|
||||||
MsgClearHideMsgTypesMenuItem: TIDEMenuCommand;
|
MsgUnhideAllMsgTypesMenuItem: TIDEMenuCommand;
|
||||||
MsgHideBelowMenuSection: TIDEMenuSection;
|
MsgHideBelowMenuSection: TIDEMenuSection;
|
||||||
MsgHideWarningsMenuItem: TIDEMenuCommand;
|
MsgHideWarningsMenuItem: TIDEMenuCommand;
|
||||||
MsgHideNotesMenuItem: TIDEMenuCommand;
|
MsgHideNotesMenuItem: TIDEMenuCommand;
|
||||||
@ -519,12 +519,12 @@ begin
|
|||||||
MsgQuickFixMenuSection := RegisterIDEMenuSection(Root, 'Quick Fix');
|
MsgQuickFixMenuSection := RegisterIDEMenuSection(Root, 'Quick Fix');
|
||||||
MsgClearMenuItem := RegisterIDEMenuCommand(Root, 'Clear', 'Clear');
|
MsgClearMenuItem := RegisterIDEMenuCommand(Root, 'Clear', 'Clear');
|
||||||
MsgHideMsgOfTypeMenuItem:=RegisterIDEMenuCommand(Root,'HideMsgOfType','');
|
MsgHideMsgOfTypeMenuItem:=RegisterIDEMenuCommand(Root,'HideMsgOfType','');
|
||||||
MsgUnhideMsgTypeMenuSection:=RegisterIDEMenuSection(Root,'UnhideMsgType');
|
MsgUnhideMsgTypesMenuSection:=RegisterIDEMenuSection(Root,'UnhideMsgType');
|
||||||
Parent:=MsgUnhideMsgTypeMenuSection;
|
Parent:=MsgUnhideMsgTypesMenuSection;
|
||||||
Parent.ChildsAsSubMenu:=true;
|
Parent.ChildsAsSubMenu:=true;
|
||||||
Parent.Caption:='Unhide message type';
|
Parent.Caption:='Unhide message type';
|
||||||
MsgUnhideMsgOfTypeMenuSection:=RegisterIDEMenuSection(Parent,'UnhideMsgOfTypeSection');
|
MsgUnhideMsgOneTypeMenuSection:=RegisterIDEMenuSection(Parent,'UnhideMsgOfTypeSection');
|
||||||
MsgClearHideMsgTypesMenuItem:=RegisterIDEMenuCommand(Parent,'Unhide all','Unhide all');
|
MsgUnhideAllMsgTypesMenuItem:=RegisterIDEMenuCommand(Parent,'Unhide all','Unhide all');
|
||||||
MsgHideBelowMenuSection:=RegisterIDEMenuSection(Root,'Hide Below Section');
|
MsgHideBelowMenuSection:=RegisterIDEMenuSection(Root,'Hide Below Section');
|
||||||
Parent:=MsgHideBelowMenuSection;
|
Parent:=MsgHideBelowMenuSection;
|
||||||
Parent.ChildsAsSubMenu:=true;
|
Parent.ChildsAsSubMenu:=true;
|
||||||
@ -2580,7 +2580,7 @@ function TMessagesCtrl.GetHeaderText(View: TLMsgWndView): string;
|
|||||||
begin
|
begin
|
||||||
Result:=View.Caption;
|
Result:=View.Caption;
|
||||||
if View.SummaryMsg<>'' then
|
if View.SummaryMsg<>'' then
|
||||||
Result+=', '+View.SummaryMsg;
|
Result+=': '+View.SummaryMsg;
|
||||||
if mcoShowStats in Options then begin
|
if mcoShowStats in Options then begin
|
||||||
Result+=GetStats(View.Lines);
|
Result+=GetStats(View.Lines);
|
||||||
end;
|
end;
|
||||||
@ -2930,16 +2930,18 @@ procedure TMessagesFrame.MsgCtrlPopupMenuPopup(Sender: TObject);
|
|||||||
HideItem: TLMVFilterHideMsgType;
|
HideItem: TLMVFilterHideMsgType;
|
||||||
i: Integer;
|
i: Integer;
|
||||||
Item: TIDEMenuCommand;
|
Item: TIDEMenuCommand;
|
||||||
|
Cnt: Integer;
|
||||||
begin
|
begin
|
||||||
// create one menuitem per filter item
|
// create one menuitem per filter item
|
||||||
MsgUnhideMsgTypeMenuSection.Visible:=MessagesCtrl.ActiveFilter.HideMsgTypeCount>0;
|
Cnt:=MessagesCtrl.ActiveFilter.HideMsgTypeCount;
|
||||||
for i:=0 to MessagesCtrl.ActiveFilter.HideMsgTypeCount-1 do begin
|
MsgUnhideMsgTypesMenuSection.Visible:=Cnt>0;
|
||||||
if i>=MsgUnhideMsgOfTypeMenuSection.Count then begin
|
for i:=0 to Cnt-1 do begin
|
||||||
Item:=RegisterIDEMenuCommand(MsgUnhideMsgOfTypeMenuSection,'MsgUnhideOfType'+IntToStr(i),'');
|
if i>=MsgUnhideMsgOneTypeMenuSection.Count then begin
|
||||||
|
Item:=RegisterIDEMenuCommand(MsgUnhideMsgOneTypeMenuSection,'MsgUnhideOfType'+IntToStr(i),'');
|
||||||
Item.Tag:=i;
|
Item.Tag:=i;
|
||||||
Item.OnClick:=@UnhideMsgTypeClick;
|
Item.OnClick:=@UnhideMsgTypeClick;
|
||||||
end else
|
end else
|
||||||
Item:=MsgUnhideMsgTypeMenuSection.Items[i] as TIDEMenuCommand;
|
Item:=MsgUnhideMsgOneTypeMenuSection.Items[i] as TIDEMenuCommand;
|
||||||
HideItem:=MessagesCtrl.ActiveFilter.HideMsgTypes[i];
|
HideItem:=MessagesCtrl.ActiveFilter.HideMsgTypes[i];
|
||||||
s:=HideItem.SubTool;
|
s:=HideItem.SubTool;
|
||||||
if HideItem.MsgID<>0 then
|
if HideItem.MsgID<>0 then
|
||||||
@ -2950,10 +2952,9 @@ procedure TMessagesFrame.MsgCtrlPopupMenuPopup(Sender: TObject);
|
|||||||
Item.Caption:=s;
|
Item.Caption:=s;
|
||||||
end;
|
end;
|
||||||
// delete old menu items
|
// delete old menu items
|
||||||
i:=MessagesCtrl.ActiveFilter.HideMsgTypeCount;
|
while MsgUnhideMsgOneTypeMenuSection.Count>Cnt do
|
||||||
while MsgUnhideMsgTypeMenuSection.Count>i do
|
MsgUnhideMsgOneTypeMenuSection[MsgUnhideMsgOneTypeMenuSection.Count-1].Free;
|
||||||
MsgUnhideMsgTypeMenuSection[i].Free;
|
MsgUnhideAllMsgTypesMenuItem.OnClick:=@ClearHideMsgTypesMenuItemClick;
|
||||||
MsgClearHideMsgTypesMenuItem.OnClick:=@ClearHideMsgTypesMenuItemClick;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure UpdateFilterItems;
|
procedure UpdateFilterItems;
|
||||||
|
Loading…
Reference in New Issue
Block a user