summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2014-05-24 13:25:56 -0300
committerJuan Linietsky <reduzio@gmail.com>2014-05-24 13:25:56 -0300
commit71355aaab7eca64bec694918c6b911a412ad17f0 (patch)
treeaac0ea577a292092ac2e7e92ca9a76608faeae7c
parent1cad087969efefa401a11051343cd0689f660770 (diff)
-Fixed bug in "extends"
-rw-r--r--modules/gdscript/gd_compiler.cpp10
-rw-r--r--modules/gdscript/gd_script.cpp2
-rw-r--r--platform/android/java/src/com/android/godot/GodotPaymentV3.java110
-rw-r--r--platform/android/java_glue.cpp6
4 files changed, 17 insertions, 111 deletions
diff --git a/modules/gdscript/gd_compiler.cpp b/modules/gdscript/gd_compiler.cpp
index 548b10cf15..f1b7ad0096 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 0d49f79f1c..d183782864 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<GDNativeClass>();
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 dba4a9a774..0000000000
--- 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 5bf2fc5a73..4362b8f2c4 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;
+
+ }
};