summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorAlexander Neumann <alexander.neumann@picos-software.com>2019-02-25 16:11:51 +0100
committerAlexander Neumann <alexander.neumann@picos-software.com>2019-02-25 16:11:51 +0100
commitfa962c3713593cddae570b73b57e23718e63b225 (patch)
tree0d6f671d6b53ff0a5d82d683811b30ddfdcc43c8
parentTableView: Add support for custom column formatting functions (diff)
downloadwireguard-windows-fa962c3713593cddae570b73b57e23718e63b225.tar.xz
wireguard-windows-fa962c3713593cddae570b73b57e23718e63b225.zip
DataBinder: Some small fixes
-rw-r--r--databinding.go6
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)
}
}