diff --git a/Examples/test-suite/octave_dim.i b/Examples/test-suite/octave_dim.i index c74285808..f0d05852a 100644 --- a/Examples/test-suite/octave_dim.i +++ b/Examples/test-suite/octave_dim.i @@ -127,7 +127,7 @@ public: class Baz5 { public: Array __dims__() const { - Array c(2,1); + Array c(dim_vector(2,1)); c(0) = 3; c(1) = 4; return c; @@ -137,7 +137,7 @@ public: class Baz6 { public: Array __dims__() const { - Array c(1,2); + Array c(dim_vector(1,2)); c(0) = 3; c(1) = 4; return c; diff --git a/Lib/octave/octrun.swg b/Lib/octave/octrun.swg index 5f1c18af4..b006bfabe 100644 --- a/Lib/octave/octrun.swg +++ b/Lib/octave/octrun.swg @@ -424,7 +424,8 @@ namespace Swig { if (ndim==1 && c.columns()!=1) ndim = c.columns(); dim_vector d; - d.resize(ndim); + d.resize(ndim < 2 ? 2 : ndim); + d(0) = d(1) = 1; // Fill in dim_vector for (int k=0;k a = out.int_vector_value(); if (error_state) return dim_vector(1,1); dim_vector d; - d.resize(a.numel()); + d.resize(a.numel() < 2 ? 2 : a.numel()); + d(0) = d(1) = 1; for (int k=0;k