aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChad Austin <chad@imvu.com>2013-03-08 15:58:36 -0800
committerJukka Jylänki <jujjyl@gmail.com>2013-04-12 14:25:36 +0300
commit2025ba8cef32874d40be093edf4d560931e3b399 (patch)
tree2c17084e491e223e23a4f9b105f68fd5e0e93372 /src
parent8a58711ab61ba62e10c87e7a1d873c38ff0757e0 (diff)
Illegal to pass const pointers into non-const parameters.
Diffstat (limited to 'src')
-rwxr-xr-xsrc/embind/embind.js3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/embind/embind.js b/src/embind/embind.js
index b52f9ff7..ccab4c48 100755
--- a/src/embind/embind.js
+++ b/src/embind/embind.js
@@ -510,6 +510,9 @@ RegisteredPointer.prototype.toWireType = function(destructors, handle) {
if (this.isSmartPointer && undefined === handle.$$.smartPtr) {
throwBindingError('Passing raw pointer to smart pointer is illegal');
}
+ if (!this.isConst && handle.$$.registeredPointer.isConst) {
+ throwBindingError('Cannot pass argument of type ' + handle.$$.registeredPointer.name + ' to parameter of type ' + this.name);
+ }
var pointeeType = handle.$$.pointeeType;
if (pointeeType.isPolymorphic()) {
fromRawType = pointeeType.getDynamicRawPointerType(handle.$$.ptr);