adium/adium
Clone
Summary
Browse
Changes
Graph
Updated Sparkle to 1.17.0, to fix a problem when copying broken symlinks.
adium-1.5.10.4
2017-04-23, Thijs Alkemade
5883c460b8cb
Updated Sparkle to 1.17.0, to fix a problem when copying broken symlinks.
//
// NSMenu+ImmediatePopulation.m
// XtrasCreator
//
// Created by Mac-arena the Bored Zo on 2005-11-08.
// Copyright 2005 Adium Team. All rights reserved.
//
#import "NSMenu+ImmediatePopulation.h"
@implementation
NSMenu
(ImmediatePopulation)
-
(
void
)
populateFromDelegate
{
id
delegate
=
[
self
delegate
];
signed
newCount
=
[
delegate
numberOfItemsInMenu
:
self
];
if
(
newCount
<
0
)
return
;
int
existingCount
=
[
self
numberOfItems
];
if
(
existingCount
>
newCount
)
{
//remove some items.
while
(
existingCount
--
>
newCount
)
[
self
removeItemAtIndex
:
existingCount
];
}
else
{
//add some items.
while
(
existingCount
++
<
newCount
)
{
NSMenuItem
*
item
=
[[
NSMenuItem
alloc
]
init
];
[
self
addItem
:
item
];
[
item
release
];
}
}
for
(
int
i
=
0
;
i
<
newCount
;
++
i
)
{
NSMenuItem
*
item
=
[
self
itemAtIndex
:
i
];
BOOL
keepGoing
=
[
delegate
menu
:
self
updateItem
:
item
atIndex
:
i
shouldCancel
:
NO
];
if
(
!
keepGoing
)
break
;
}
}
@end