MATLAB: Figure size changes randomly

figurelinuxMATLAB

I've recently started using Matlab R2014B for Linux (on Ubuntu 14.04). Previously I used R2014B on Windows 7. Some code does not work after the switch and I've tracked the problem down to an issue with the size of figures changing randomly:
close all; clear all;
hFig = figure('Color','White');
set(hFig, 'Position', [400 100 560 700])
f = getframe(gcf);
% Get figure size
pos = get(gcf, 'Position')
The problem is that the created figure has a size that is not equal to the specified size. For example it could be
pos =
395 95 570 702
But it changes every time I run the code.
Any ideas on this?
EDIT I noticed that the figure is not exactly at the same position I run the code, which explains the wrong position info but what is the cause behind this and how to remedy it?

Best Answer

Did you try to insert a drawnow before getframe? Sometimes pause(0.02) allows the Java objects to be updated also.
Related Question