diff --git a/modules/gdscript/gd_compiler.cpp b/modules/gdscript/gd_compiler.cpp index 548b10cf15f..f1b7ad00969 100644 --- a/modules/gdscript/gd_compiler.cpp +++ b/modules/gdscript/gd_compiler.cpp @@ -1321,6 +1321,16 @@ Error GDCompiler::_parse_class(GDScript *p_script,GDScript *p_owner,const GDPars if (path!="") { //path (and optionally subclasses) + if (path.is_rel_path()) { + + String base = p_script->get_path(); + if (base=="" || base.is_rel_path()) { + _set_error("Could not resolve relative path for parent class: "+path,p_class); + return ERR_FILE_NOT_FOUND; + } + path=base.get_base_dir().plus_file(path); + } + script = ResourceLoader::load(path); if (script.is_null()) { _set_error("Could not load base class: "+path,p_class); diff --git a/modules/gdscript/gd_script.cpp b/modules/gdscript/gd_script.cpp index 0d49f79f1c4..d1837828644 100644 --- a/modules/gdscript/gd_script.cpp +++ b/modules/gdscript/gd_script.cpp @@ -389,6 +389,8 @@ Variant GDFunction::call(GDInstance *p_instance,const Variant **p_args, int p_ar } } + + } else { GDNativeClass *nc= obj_B->cast_to(); diff --git a/platform/android/java/src/com/android/godot/GodotPaymentV3.java b/platform/android/java/src/com/android/godot/GodotPaymentV3.java deleted file mode 100644 index dba4a9a774a..00000000000 --- a/platform/android/java/src/com/android/godot/GodotPaymentV3.java +++ /dev/null @@ -1,110 +0,0 @@ -package com.android.godot; - - -import org.json.JSONObject; - -import android.app.Activity; -import android.util.Log; - - -public class GodotPaymentV3 extends Godot.SingletonBase { - - private Godot activity; - - private Integer purchaseCallbackId = 0; - - private String accessToken; - - private String purchaseValidationUrlPrefix; - - private String transactionId; - - public void purchase( String _sku, String _transactionId) { - final String sku = _sku; - final String transactionId = _transactionId; - activity.getPaymentsManager().setBaseSingleton(this); - activity.runOnUiThread(new Runnable() { - @Override - public void run() { - activity.getPaymentsManager().requestPurchase(sku, transactionId); - } - }); - }; - -/* public string requestPurchasedTicket(){ - activity.getPaymentsManager() - } - -*/ - static public Godot.SingletonBase initialize(Activity p_activity) { - - return new GodotPaymentV3(p_activity); - } - - - public GodotPaymentV3(Activity p_activity) { - - registerClass("GodotPayments", new String[] {"purchase", "setPurchaseCallbackId", "setPurchaseValidationUrlPrefix", "setTransactionId", "getSignature"}); - activity=(Godot) p_activity; - } - - - private String signature; - public String getSignature(){ - return this.signature; - } - - - public void callbackSuccess(String ticket, String signature){ - Log.d(this.getClass().getName(), "PRE-Send callback to purchase success"); - GodotLib.calldeferred(purchaseCallbackId, "purchase_success", new Object[]{ticket, signature}); - Log.d(this.getClass().getName(), "POST-Send callback to purchase success"); - } - - public void callbackFail(){ - GodotLib.calldeferred(purchaseCallbackId, "purchase_fail", new Object[]{}); -// GodotLib.callobject(purchaseCallbackId, "purchase_fail", new Object[]{}); - } - - public void callbackCancel(){ - GodotLib.calldeferred(purchaseCallbackId, "purchase_cancel", new Object[]{}); -// GodotLib.callobject(purchaseCallbackId, "purchase_cancel", new Object[]{}); - } - - public int getPurchaseCallbackId() { - return purchaseCallbackId; - } - - public void setPurchaseCallbackId(int purchaseCallbackId) { - this.purchaseCallbackId = purchaseCallbackId; - } - - - - public String getPurchaseValidationUrlPrefix(){ - return this.purchaseValidationUrlPrefix ; - } - - public void setPurchaseValidationUrlPrefix(String url){ - this.purchaseValidationUrlPrefix = url; - } - - - public String getAccessToken() { - return accessToken; - } - - - public void setAccessToken(String accessToken) { - this.accessToken = accessToken; - } - - public void setTransactionId(String transactionId){ - this.transactionId = transactionId; - } - - public String getTransactionId(){ - return this.transactionId; - } - -} diff --git a/platform/android/java_glue.cpp b/platform/android/java_glue.cpp index 5bf2fc5a73b..4362b8f2c43 100644 --- a/platform/android/java_glue.cpp +++ b/platform/android/java_glue.cpp @@ -354,6 +354,7 @@ public: virtual Variant call(const StringName& p_method,const Variant** p_args,int p_argcount,Variant::CallError &r_error) { //print_line("attempt to call "+String(p_method)); + ERR_FAIL_COND_V(!instance,Variant()); r_error.error=Variant::CallError::CALL_OK; @@ -519,7 +520,10 @@ public: } - JNISingleton() {} + JNISingleton() { + instance=NULL; + + } };