Fix dynamic callback on HL (resolves issues in cURL)
This commit is contained in:
@@ -718,7 +718,8 @@ namespace lime {
|
||||
pos->v.i = position;
|
||||
|
||||
curl_gc_mutex.Unlock ();
|
||||
length = *((int*)writeCallback->Call (bytes, pos));
|
||||
vdynamic* _length = (vdynamic*)writeCallback->Call (bytes, pos);
|
||||
length = (_length != NULL ? _length->v.i : 0);
|
||||
curl_gc_mutex.Lock ();
|
||||
|
||||
if (length == CURL_WRITEFUNC_PAUSE) {
|
||||
@@ -749,7 +750,8 @@ namespace lime {
|
||||
ulnow->v.d = progress->ulnow;
|
||||
|
||||
curl_gc_mutex.Unlock ();
|
||||
code = *((int*)progressCallback->Call (dltotal, dlnow, ultotal, ulnow));
|
||||
vdynamic* _code = (vdynamic*)progressCallback->Call (dltotal, dlnow, ultotal, ulnow);
|
||||
code = (_code != NULL ? _code->v.i : 0);
|
||||
curl_gc_mutex.Lock ();
|
||||
|
||||
if (code != 0) { // CURLE_OK
|
||||
@@ -776,7 +778,8 @@ namespace lime {
|
||||
ulnow->v.i = xferInfo->ulnow;
|
||||
|
||||
curl_gc_mutex.Unlock ();
|
||||
code = *((int*)xferInfoCallback->Call (dltotal, dlnow, ultotal, ulnow));
|
||||
vdynamic* _code = (vdynamic*)xferInfoCallback->Call (dltotal, dlnow, ultotal, ulnow);
|
||||
code = (_code != NULL ? _code->v.i : 0);
|
||||
curl_gc_mutex.Lock ();
|
||||
|
||||
if (code != 0) {
|
||||
@@ -1706,7 +1709,7 @@ namespace lime {
|
||||
|
||||
}
|
||||
|
||||
progressCallbacks[handle] = new ValuePointer (parameter);;
|
||||
progressCallbacks[handle] = new ValuePointer (parameter);
|
||||
progressValues[handle] = new CURL_Progress ();
|
||||
|
||||
code = curl_easy_setopt (easy_handle, type, progress_callback);
|
||||
|
||||
Reference in New Issue
Block a user