diff options
author | Alexander Neumann <alexander.neumann@picos-software.com> | 2019-02-25 16:11:51 +0100 |
---|---|---|
committer | Alexander Neumann <alexander.neumann@picos-software.com> | 2019-02-25 16:11:51 +0100 |
commit | fa962c3713593cddae570b73b57e23718e63b225 (patch) | |
tree | 0d6f671d6b53ff0a5d82d683811b30ddfdcc43c8 | |
parent | TableView: Add support for custom column formatting functions (diff) | |
download | wireguard-windows-fa962c3713593cddae570b73b57e23718e63b225.tar.xz wireguard-windows-fa962c3713593cddae570b73b57e23718e63b225.zip |
DataBinder: Some small fixes
-rw-r--r-- | databinding.go | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/databinding.go b/databinding.go index 54aa255b..de318651 100644 --- a/databinding.go +++ b/databinding.go @@ -100,7 +100,8 @@ func (db *DataBinder) DataSource() interface{} { } func (db *DataBinder) SetDataSource(dataSource interface{}) error { - if dataSource == db.dataSource { + if kind := reflect.ValueOf(dataSource).Kind(); kind != reflect.Func && kind != reflect.Map && kind != reflect.Slice && + kind == reflect.ValueOf(db.dataSource).Kind() && dataSource == db.dataSource { return nil } @@ -446,6 +447,7 @@ func dataFieldFromPath(root reflect.Value, path string) (DataField, error) { } func reflectValueFromPath(root reflect.Value, path string) (parent, value reflect.Value, err error) { + fullPath := path value = root for path != "" { @@ -496,7 +498,7 @@ func reflectValueFromPath(root reflect.Value, path string) (parent, value reflec fun = value.MethodByName(name) } if !fun.IsValid() { - return parent, value, fmt.Errorf("bad member: '%s'", path, ".") + return parent, value, fmt.Errorf("bad member: '%s', path: '%s'", path, fullPath) } } |