Fixing non unique ID on fast requests

This commit is contained in:
StarAurryon 2020-08-05 14:22:13 +02:00
parent 959859c19a
commit 6b046e6ee2

View file

@ -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<QString, QVariant>" || p.Value == "QList<QVariant>") && !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<QString, QVariant>" || function.Output == "QList<QVariant>") && !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, "*") {