summaryrefslogtreecommitdiff
path: root/matlab/lib/+Ice/Communicator.m
diff options
context:
space:
mode:
Diffstat (limited to 'matlab/lib/+Ice/Communicator.m')
-rw-r--r--matlab/lib/+Ice/Communicator.m10
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