Backported fixes

This commit is contained in:
Arnaud Diederen
2020-04-07 08:41:19 +02:00
parent fe7d9fdb40
commit 21983ec8d2
8 changed files with 138 additions and 26 deletions
+2
View File
@@ -124,6 +124,8 @@ The end!
self.rBlue.id : 0xFF0000,
}
self.SetControlValue(self.iColor1, color[fid])
elif fid == self.iColor1.id:
print("Color changed: %06x" % self.GetControlValue(self.iColor1))
else:
print(">>fid:%d" % fid)
return 1
Binary file not shown.
+3 -3
View File
@@ -302,7 +302,7 @@ class Form(object):
"""
String label control
"""
def __init__(self, value, tp=None, size=1024):
def __init__(self, value, tp=None, size=ida_pro.MAXSTR):
"""
Type field can be one of:
A - ascii string
@@ -524,7 +524,7 @@ class Form(object):
"""
def __init__(self,
tp=None,
width=1024,
width=ida_pro.MAXSTR,
swidth=40,
hlp=None,
value=None,
@@ -1356,7 +1356,7 @@ class Form(object):
elif isinstance(ctrl, (Form.GroupItemControl, Form.GroupControl)):
return (2, 0)
elif isinstance(ctrl, Form.StringLabel):
return (3, min(_ida_kernwin.MAXSTR, ctrl.size))
return (3, min(ida_pro.MAXSTR, ctrl.size))
elif isinstance(ctrl, Form.ColorInput):
return (4, 0)
elif isinstance(ctrl, Form.NumericInput):
+8 -4
View File
@@ -2610,6 +2610,7 @@
'delete_rect_t',
'delete_refinfo_t',
'delete_reg_info_t',
'delete_regarg_array',
'delete_regarg_t',
'delete_reginfovec_t',
'delete_register_info_t',
@@ -3289,6 +3290,7 @@
'func_parent_iterator_t_reset_fnt',
'func_parent_iterator_t_set',
'func_t___get_points__',
'func_t___get_regargs__',
'func_t___get_regvars__',
'func_t___get_tails__',
'func_t__from_ptrval__',
@@ -3309,10 +3311,6 @@
'func_t_frsize_get',
'func_t_frsize_set',
'func_t_is_far',
'func_t_llabelqty_get',
'func_t_llabelqty_set',
'func_t_llabels_get',
'func_t_llabels_set',
'func_t_need_prolog_analysis',
'func_t_owner_get',
'func_t_owner_set',
@@ -6993,6 +6991,7 @@
'new_rect_t__SWIG_2',
'new_refinfo_t',
'new_reg_info_t',
'new_regarg_array',
'new_regarg_t',
'new_reginfovec_t',
'new_reginfovec_t__SWIG_0',
@@ -8310,6 +8309,11 @@
'reg_write_bool',
'reg_write_int',
'reg_write_string',
'regarg_array___getitem__',
'regarg_array___len__',
'regarg_array___setitem__',
'regarg_array_count_get',
'regarg_array_data_get',
'regarg_t_name_get',
'regarg_t_name_set',
'regarg_t_reg_get',
+9 -5
View File
@@ -2610,6 +2610,7 @@
'delete_rect_t',
'delete_refinfo_t',
'delete_reg_info_t',
'delete_regarg_array',
'delete_regarg_t',
'delete_reginfovec_t',
'delete_register_info_t',
@@ -3289,6 +3290,7 @@
'func_parent_iterator_t_reset_fnt',
'func_parent_iterator_t_set',
'func_t___get_points__',
'func_t___get_regargs__',
'func_t___get_regvars__',
'func_t___get_tails__',
'func_t__from_ptrval__',
@@ -3309,10 +3311,6 @@
'func_t_frsize_get',
'func_t_frsize_set',
'func_t_is_far',
'func_t_llabelqty_get',
'func_t_llabelqty_set',
'func_t_llabels_get',
'func_t_llabels_set',
'func_t_need_prolog_analysis',
'func_t_owner_get',
'func_t_owner_set',
@@ -6997,6 +6995,7 @@
'new_rect_t__SWIG_2',
'new_refinfo_t',
'new_reg_info_t',
'new_regarg_array',
'new_regarg_t',
'new_reginfovec_t',
'new_reginfovec_t__SWIG_0',
@@ -8314,6 +8313,11 @@
'reg_write_bool',
'reg_write_int',
'reg_write_string',
'regarg_array___getitem__',
'regarg_array___len__',
'regarg_array___setitem__',
'regarg_array_count_get',
'regarg_array_data_get',
'regarg_t_name_get',
'regarg_t_name_set',
'regarg_t_reg_get',
@@ -10485,4 +10489,4 @@
'xreflist_t_swap',
'xreflist_t_truncate',
'yword_flag',
'zword_flag']}
'zword_flag']}
+52 -7
View File
@@ -11874,6 +11874,9 @@ class func_t(ida_range.range_t)
| __get_points__(self, *args)
| __get_points__(self) -> stkpnt_array
|
| __get_regargs__(self, *args)
| __get_regargs__(self) -> regarg_array
|
| __get_regvars__(self, *args)
| __get_regvars__(self) -> regvar_array
|
@@ -11921,12 +11924,6 @@ class func_t(ida_range.range_t)
| frsize
| func_t_frsize_get(self) -> asize_t
|
| llabelqty
| func_t_llabelqty_get(self) -> int
|
| llabels
| func_t_llabels_get(self) -> llabel_t *
|
| owner
| func_t_owner_get(self) -> ea_t
|
@@ -11946,7 +11943,7 @@ class func_t(ida_range.range_t)
| func_t_regargqty_get(self) -> int
|
| regargs
| func_t_regargs_get(self) -> regarg_t
| __get_regargs__(self) -> regarg_array
|
| regvarqty
| func_t_regvarqty_get(self) -> int
@@ -12601,6 +12598,54 @@ reanalyze_noret_flag(*args)
@param ea (C++: ea_t)
Help on class regarg_array in module ida_funcs:
class regarg_array(__builtin__.object)
| Proxy of C++ dynamic_wrapped_array_t< regarg_t > class.
|
| Methods defined here:
|
| __getitem__(self, *args)
| __getitem__(self, i) -> regarg_t
|
| __init__(self, *args)
| __init__(self, _data, _count) -> regarg_array
|
| __iter__ = _bounded_getitem_iterator(self)
| Helper function, to be set as __iter__ method for qvector-, or array-based classes.
|
| __len__(self, *args)
| __len__(self) -> size_t
|
| __repr__ = _swig_repr(self)
|
| __setitem__(self, *args)
| __setitem__(self, i, v)
|
| ----------------------------------------------------------------------
| Data descriptors defined here:
|
| __dict__
| dictionary for instance variables (if defined)
|
| __weakref__
| list of weak references to the object (if defined)
|
| count
| regarg_array_count_get(self) -> size_t
|
| data
| regarg_array_data_get(self) -> regarg_t
|
| thisown
| The membership flag
|
| ----------------------------------------------------------------------
| Data and other attributes defined here:
|
| __swig_destroy__ = <built-in function delete_regarg_array>
| delete_regarg_array(self)
Help on class regarg_t in module ida_funcs:
class regarg_t(__builtin__.object)
+49 -7
View File
@@ -11818,6 +11818,9 @@ class func_t(ida_range.range_t)
| __get_points__(self, *args) -> 'dynamic_wrapped_array_t< stkpnt_t >'
| __get_points__(self) -> stkpnt_array
|
| __get_regargs__(self, *args) -> 'dynamic_wrapped_array_t< regarg_t >'
| __get_regargs__(self) -> regarg_array
|
| __get_regvars__(self, *args) -> 'dynamic_wrapped_array_t< regvar_t >'
| __get_regvars__(self) -> regvar_array
|
@@ -11868,12 +11871,6 @@ class func_t(ida_range.range_t)
| frsize
| func_t_frsize_get(self) -> asize_t
|
| llabelqty
| func_t_llabelqty_get(self) -> int
|
| llabels
| func_t_llabels_get(self) -> llabel_t *
|
| owner
| func_t_owner_get(self) -> ea_t
|
@@ -11893,7 +11890,7 @@ class func_t(ida_range.range_t)
| func_t_regargqty_get(self) -> int
|
| regargs
| func_t_regargs_get(self) -> regarg_t
| __get_regargs__(self) -> regarg_array
|
| regvarqty
| func_t_regvarqty_get(self) -> int
@@ -12538,6 +12535,51 @@ reanalyze_noret_flag(*args) -> 'bool'
@param ea (C++: ea_t)
Help on class regarg_array in module ida_funcs:
class regarg_array(builtins.object)
| Proxy of C++ dynamic_wrapped_array_t< regarg_t > class.
|
| Methods defined here:
|
| __getitem__(self, *args) -> 'regarg_t const &'
| __getitem__(self, i) -> regarg_t
|
| __init__(self, *args)
| __init__(self, _data, _count) -> regarg_array
|
| __iter__ = _bounded_getitem_iterator(self)
| Helper function, to be set as __iter__ method for qvector-, or array-based classes.
|
| __len__(self, *args) -> 'size_t'
| __len__(self) -> size_t
|
| __repr__ = _swig_repr(self)
|
| __setitem__(self, *args) -> 'void'
| __setitem__(self, i, v)
|
| __swig_destroy__ = delete_regarg_array(...)
| delete_regarg_array(self)
|
| ----------------------------------------------------------------------
| Data descriptors defined here:
|
| __dict__
| dictionary for instance variables (if defined)
|
| __weakref__
| list of weak references to the object (if defined)
|
| count
| regarg_array_count_get(self) -> size_t
|
| data
| regarg_array_data_get(self) -> regarg_t
|
| thisown
| The membership flag
Help on class regarg_t in module ida_funcs:
class regarg_t(builtins.object)
+15
View File
@@ -19,14 +19,20 @@
%ignore func_md_t::cbsize;
%ignore func_pat_t::cbsize;
%ignore func_t::llabelqty;
%ignore func_t::llabels;
%template (stkpnt_array) dynamic_wrapped_array_t<stkpnt_t>;
%template (regvar_array) dynamic_wrapped_array_t<regvar_t>;
%template (range_array) dynamic_wrapped_array_t<range_t>;
%template (regarg_array) dynamic_wrapped_array_t<regarg_t>;
%extend func_t
{
dynamic_wrapped_array_t<stkpnt_t> __get_points__()
{
if ( $self->pntqty > 0 && $self->points == NULL ) // force load
get_sp_delta($self, $self->start_ea);
return dynamic_wrapped_array_t<stkpnt_t>($self->points, $self->pntqty);
}
@@ -42,10 +48,19 @@
return dynamic_wrapped_array_t<range_t>($self->tails, $self->tailqty);
}
dynamic_wrapped_array_t<regarg_t> __get_regargs__()
{
if ( $self->regargqty > 0 && $self->regargs == NULL ) // force load
read_regargs($self);
return dynamic_wrapped_array_t<regarg_t>($self->regargs, $self->regargqty);
}
%pythoncode {
points = property(__get_points__)
regvars = property(__get_regvars__)
tails = property(__get_tails__)
regargs = property(__get_regargs__)
}
}