diff --git a/internal/binding/templater/function_go.go b/internal/binding/templater/function_go.go index e1afffe6..e5572e54 100644 --- a/internal/binding/templater/function_go.go +++ b/internal/binding/templater/function_go.go @@ -157,10 +157,10 @@ func goFunctionBody(function *parser.Function) string { } fmt.Fprint(bb, func() string { if function.IsMocFunction && function.SignalMode == "" { - for i, p := range function.Parameters { + for _, p := range function.Parameters { if p.PureGoType != "" && !(p.Value == "QMap" || p.Value == "QList") && !parser.IsBlackListedPureGoType(p.PureGoType) { if !parser.UseWasm() { //TODO: does wasm need "unsafe" pointer arithmetic ? - fmt.Fprintf(bb, "%vTID := (time.Now().UnixNano()+(%v*1e10))/1e9\n", parser.CleanName(p.Name, p.Value), i) + fmt.Fprintf(bb, "%vTID := rand.New(rand.NewSource(time.Now().UnixNano())).Int63()\n", parser.CleanName(p.Name, p.Value)) fmt.Fprintf(bb, "qt.RegisterTemp(unsafe.Pointer(uintptr(%[2]vTID)), unsafe.Pointer(%[1]v%[2]v))\n", func() string { if !strings.HasPrefix(p.PureGoType, "*") { @@ -423,7 +423,7 @@ func goFunctionBody(function *parser.Function) string { if function.IsMocFunction && function.PureGoOutput != "" && !(function.Output == "QMap" || function.Output == "QList") && !parser.IsBlackListedPureGoType(function.PureGoOutput) { fmt.Fprintf(bb, "oP := %v\n", fmt.Sprintf("(*(*%v)(signal))(%v)", converter.GoHeaderInputSignalFunction(function), converter.GoInputParametersForCallback(function))) if !parser.UseWasm() { //TODO: does wasm need "unsafe" pointer arithmetic ? - fmt.Fprintf(bb, "rTID := (time.Now().UnixNano()+(1*1e10))/1e9\n") + fmt.Fprintf(bb, "rTID := rand.New(rand.NewSource(time.Now().UnixNano())).Int63()\n") fmt.Fprintf(bb, "qt.RegisterTemp(unsafe.Pointer(uintptr(rTID)), unsafe.Pointer(%voP))\n", func() string { if !strings.HasPrefix(function.PureGoOutput, "*") { @@ -509,7 +509,7 @@ func goFunctionBody(function *parser.Function) string { fmt.Fprintf(bb, "oP := %v\n", fmt.Sprintf("New%vFromPointer(ptr).%v%vDefault(%v)", strings.Title(class.Name), strings.TrimSuffix(strings.Replace(strings.Title(function.Name), parser.TILDE, "Destroy", -1), "z__"), function.OverloadNumber, converter.GoInputParametersForCallback(function))) } if !parser.UseWasm() { //TODO: does wasm need "unsafe" pointer arithmetic ? - fmt.Fprintf(bb, "rTID := (time.Now().UnixNano()+(1*1e10))/1e9\n") + fmt.Fprintf(bb, "rTID := rand.New(rand.NewSource(time.Now().UnixNano())).Int63()\n") fmt.Fprintf(bb, "qt.RegisterTemp(unsafe.Pointer(uintptr(rTID)), unsafe.Pointer(%voP))\n", func() string { if !strings.HasPrefix(function.PureGoOutput, "*") {