The following code should color all functions green, but does nothing:
code_seg = FirstSeg()
for addr in Functions(SegStart(code_seg), SegEnd(code_seg)):
SetColor(addr, CIC_FUNC, 0x00FF00)
This seems to be fixed by adding a call to idaapi.update_func. The
CIC_SEGM case should probably be modified as well?
-----
def SetColor(ea, what, color):
"""
Set item color
@param ea: address of the item
@param what: type of the item (one of CIC_* constants)
@param color: new color code in RGB (hex 0xBBGGRR)
@return: success (True or False)
"""
if what not in [ CIC_ITEM, CIC_FUNC, CIC_SEGM ]:
raise ValueError, "'what' must be one of CIC_ITEM, CIC_FUNC and
CIC_SEGM"
if what == CIC_ITEM:
return idaapi.set_item_color(ea, color)
if what == CIC_FUNC:
func = idaapi.get_func(ea)
if func:
func.color = color
return bool(idaapi.update_func(func))
else:
return False
if what == CIC_SEGM:
seg = idaapi.getseg(ea)
if seg:
seg.color = color
return True
else:
return False
Original issue reported on code.google.com by goo...@simon.user.lysator.liu.se on 14 Nov 2008 at 7:47
Original issue reported on code.google.com by
goo...@simon.user.lysator.liu.se
on 14 Nov 2008 at 7:47