diff libinterp/octave-value/ov-classdef.cc @ 18316:ff311e5ff6d8

Don't call classdef-overloaded subsref from builtin calls. * ov-class.cc (called_from_builtin): Moved to ov-base.cc. * ov-base.cc (called_from_builtin): Moved from ov-class.cc. * ov-base.h (called_from_builtin): Declare in octave API. * ov-classdef.cc (octave_classdef::subsref): Don't call overloaded subsref when called from "builtin".
author Michael Goffioul <michael.goffioul@gmail.com>
date Mon, 20 Jan 2014 22:16:22 -0500
parents 06eb893b9db6
children 9ca314e79956
line wrap: on
line diff
--- a/libinterp/octave-value/ov-classdef.cc	Mon Jan 20 14:10:42 2014 -0500
+++ b/libinterp/octave-value/ov-classdef.cc	Mon Jan 20 22:16:22 2014 -0500
@@ -895,7 +895,7 @@
 
   cdef_class cls = object.get_class ();
 
-  if (! in_class_method (cls))
+  if (! in_class_method (cls) && ! called_from_builtin ())
     {
       cdef_method meth = cls.find_method ("subsref");