| author | Stephen Paul Weber
<singpolyma@singpolyma.net> 2025-11-23 20:09:11 UTC |
| committer | Stephen Paul Weber
<singpolyma@singpolyma.net> 2025-11-23 20:09:11 UTC |
| parent | d1b3eefa00a0998805cceded3990d24b84364811 |
| HaxeCBridge.hx | +5 | -5 |
| borogove/Chat.hx | +0 | -1 |
| borogove/Config.hx | +1 | -1 |
| borogove/Form.hx | +1 | -0 |
diff --git a/HaxeCBridge.hx b/HaxeCBridge.hx index 815a8f0..28e85d1 100644 --- a/HaxeCBridge.hx +++ b/HaxeCBridge.hx @@ -378,9 +378,9 @@ class HaxeCBridge { } } case FVar(t, e): - switch (t) { - case TPath(path) if (path.name == "Array" || path.name == "ReadOnlyArray"): - final ptrT = TPath({name: "RawPointer", pack: ["cpp"], params: [TPType(convertSecondaryType(t).args[0])]}); + final convertedType = convertSecondaryType(t); + if (convertedType.retainType == "Array") { + final ptrT = TPath({name: "RawPointer", pack: ["cpp"], params: [TPType(convertedType.args[0])]}); fields.insert(insertTo, { name: field.name + "__fromC", doc: field.doc, @@ -390,7 +390,7 @@ class HaxeCBridge { kind: FFun({ret: TPath({name: "SizeT", pack: ["cpp"]}), params: [], args: [{name: "outPtr", type: ptrT}], expr: macro { final x = $i{field.name}; if (outPtr != null) { cpp.Pointer.fromRaw(outPtr).set_ref(x); } return x.length; } }) }); if (!field.access.contains(AFinal)) { - final cptrT = TPath({name: "ConstPointer", pack: ["cpp"], params: path.params.map(tp -> convertSecondaryTP(tp))}); + final cptrT = TPath({name: "ConstPointer", pack: ["cpp"], params: [TPType(convertedType.args[0])]}); fields.insert(insertTo, { name: "set_" + field.name + "__fromC", doc: field.doc, @@ -401,7 +401,7 @@ class HaxeCBridge { }); } insertTo++; - default: + } else { fields.insert(insertTo, { name: field.name + "__fromC", doc: field.doc, diff --git a/borogove/Chat.hx b/borogove/Chat.hx index 70593c2..61b2449 100644 --- a/borogove/Chat.hx +++ b/borogove/Chat.hx @@ -1234,7 +1234,6 @@ class Channel extends Chat { return disco?.data?.find(d -> d.field("FORM_TYPE")?.value?.at(0) == "http://jabber.org/protocol/muc#roominfo"); } - @HaxeCBridge.noemit // on superclass as abstract override public function canSend() { if (!super.canSend()) return false; if (_nickInUse == null) return true; diff --git a/borogove/Config.hx b/borogove/Config.hx index 5156803..b6b7dac 100644 --- a/borogove/Config.hx +++ b/borogove/Config.hx @@ -17,7 +17,7 @@ class Config { This can be useful eg for intercepting with a Service Worker. **/ - public static var relativeHashUri = false; + public static var relativeHashUri: Bool = false; @:allow(borogove) private static var constrainedMemoryMode = false; diff --git a/borogove/Form.hx b/borogove/Form.hx index 5f0669d..143b863 100644 --- a/borogove/Form.hx +++ b/borogove/Form.hx @@ -26,6 +26,7 @@ class FormItem { public final section: Null<FormSection>; public final status: Null<String>; public final tableHeader: Null<Array<FormField>>; + @HaxeCBridge.noemit public final tableRows: Null<Array<Array<FormField>>>; @:allow(borogove)