I'm seeing problems with set multiplot when using the qt terminal.
When I type set multiplot, I get a message
gnuplot> set multiplot
multiplot>
multiplot>
^
function to plot expected
When I load the following script with load myscript.gp
set multiplot layout 2,1
plot sin(x)
plot x
unset multiplot
then only the last plot is shown in full size. When I load the script again, it works fine. I guess this has something to do with an initial replot (I remember, that there had been problems with the initial plot size in the qt terminal). Happens both in rc3 and current cvs.
I suggest un-selecting the Qt toolbox option "replot on resize".
As you say, some systems (I don't know which) seem to require extra resize events during initialization to make the plot window appear properly. When each of these triggers a "replot" - well, you get the error messages you report since there has not yet been a successful plot.
This problem on all of my Windows systems, too. As
qtis the new default terminal also on Windows, this problem should be solved.I've made a change to cvs for 5.0 and 5.1 that may fix this. I'm not certain, however, since I'm not seeing this problem.
The change is to send a GE_replot event if the replot is generated by a resize, while continuing to send GE_keypress(,,'e',,) if the replot is generated by direct user action. The resize-generated events are ignored if multiplot is active. wxt was already doing this; now qt and x11 do also. Maybe windows wants the same change?
On a related issue: At mouse.c:2235 You changed do_string("replot") to do_string_replot(""). This may change the behaviour slightly in the case of input from the keyboard following a script loaded via the shell command, although I can't say without reconstructing a test case whether this is actually a problem.
Was there a reason for this?
For me that solves the issue, thanks.
That ge_replot commit was somewhat accidental. I have been using that locally for a long time as it should do a refresh instead of a replot when possible. Until recently, almost no terminals used that entry anyway.