diff options
Diffstat (limited to 'matlab/lib/+Ice/Communicator.m')
-rw-r--r-- | matlab/lib/+Ice/Communicator.m | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/matlab/lib/+Ice/Communicator.m b/matlab/lib/+Ice/Communicator.m index 0b81eba4026..c79c70cb7a0 100644 --- a/matlab/lib/+Ice/Communicator.m +++ b/matlab/lib/+Ice/Communicator.m @@ -78,9 +78,12 @@ classdef Communicator < IceInternal.WrapperObject r = obj.callWithResult_('identityToString', id); end function r = getProperties(obj) - impl = libpointer('voidPtr'); - obj.call_('getProperties', impl); - r = Ice.Properties(impl); + if isempty(obj.properties_) + impl = libpointer('voidPtr'); + obj.call_('getProperties', impl); + obj.properties_ = Ice.Properties(impl); + end + r = obj.properties_; end function r = getLogger(obj) if isempty(obj.logger) @@ -164,5 +167,6 @@ classdef Communicator < IceInternal.WrapperObject classResolver encoding logger + properties_ end end |