We're going to need a whole lot more information. What's crashing? At what point? What function are you calling? What version of TurboActivate are you using? What language are you using (C, C++, Adobe AIR, C#, etc.)?
Hi therecustomer experiences crash after license entering. It worked perfectly until now and on earlier osx.pls assist. you can try it yourself, download a copy 🙂 woowave.com skype:woowave for faster response
We're going to need a whole lot more information. What's crashing? At what point? What function are you calling? What version of TurboActivate are you using? What language are you using (C, C++, Adobe AIR, C#, etc.)?
latest dynlib for osx. It works on earlier OSX. It happens only when entering license, even though it happens AFTER the activation. pls give me email so I can send you the crash log. Definetely not related to calling functions as it works all right on earlier osx versions.
Email me at wyatt@wyday.com and tell me exactly what you're calling. It sounds like you're calling CheckAndSavePKey() after the user has already activated. Is that what you're doing? If so, that's why you're getting an error.
int enterserial(string pass){ //wstring temp=s2ws(pass); STRCTYPE key=pass.c_str(); HRESULT hr = IsActivated(TA_GUID); cout<<hr<<endl; if (hr == TA_OK) { return 1;
} else // not activated {
//TODO: prompt for a product key (if it's not present) //Note: here we're just hard-coding the product key to show how you // save the product key and try to activation
// Also not we're using the TA_SYSTEM flag. This means the activation will be system-wide. // However calling using the TA_SYSTEM flag (the first time only) requires system-admin privleges. // If your app will never have system admin privleges then you can use the TA_USER flag.
hr = CheckAndSavePKey(key, TA_USER); if (hr == TA_OK) { printf("Product key saved successfully.\n");
// try to activate hr = Activate();
if (hr == TA_OK) { printf("Activated successfully\n"); return 1000000;} else { printf("Activation failed: hr = %d\n", hr); return 0; } } else return 0; // ne moze da se snimi product key }
return 0;
}
save key is only called if it is not already activated. The thing is the app starts , the trial days are shown, and when user enters key which is passed as argument to earlier function enterserial(), there is a delay of around 8-9 sec. during which time the wuday servers are updated as ACTIVATED, but ends with crashing. the next time the app is run, it is still in trial mode, and if the client tries to enter the serial again, it shows as serial not valis(as it is registered as used on the system)Trial extension doesn't work neither. Same crash. only on 10.8.2, works perfectly on anything earlier that 10.8.2 (haven't tried 10.8.1 though)
Attach a debugger to your app and tell me exactly which line crashes.
Interval Since Last Report: 950718 secCrashes Since Last Report: 11974Per-App Crashes Since Last Report: 9Anonymous UUID: 5497EAD7-9D66-4508-07F3-791DCEE8A887
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGABRT)Exception Codes: 0x0000000000000000, 0x0000000000000000
Application Specific Information:*** error for object 0x10403d915: pointer being freed was not allocated
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread0 libsystem_kernel.dylib 0x00007fff83985212 __pthread_kill + 101 libsystem_c.dylib 0x00007fff85d45af4 pthread_kill + 902 libsystem_c.dylib 0x00007fff85d89dce abort + 1433 libsystem_c.dylib 0x00007fff85d5d959 free + 3924 libTurboActivate.dylib 0x0000000100661b51 0x100660000 + 69935 libTurboActivate.dylib 0x0000000100661a3e 0x100660000 + 67186 libTurboActivate.dylib 0x00000001006708e5 0x100660000 + 678137 libTurboActivate.dylib 0x0000000100672bc6 Activate + 408 com.woowave.woosync 0x0000000100027de4 enterserial(std::string) + 1009 com.woowave.woosync 0x000000010003f0e3 QMLFile::submitlicensekey(QString) + 9910 com.woowave.woosync 0x0000000100065684 QMLFile::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) + 74011 com.woowave.woosync 0x000000010006601f QMLFile::qt_metacall(QMetaObject::Call, int, void**) + 95
We're going to try to reproduce this on Mac OS X 10.8, but my guess is that the problem is related to your use of the internal "c_str()" of the std::string object. You should try copying that internal string (that you shouldn't really use) to its own buffer array, and then pass that buffer array to the appropriate function.