[Rd] windows( ... ,rescale="fixed") bug (PR#8857)
murdoch at stats.uwo.ca
murdoch at stats.uwo.ca
Sat May 13 21:27:13 CEST 2006
On 5/13/2006 1:51 PM, Duncan Murdoch wrote:
> On 5/13/2006 12:54 PM, Gerhard.Thallinger at tugraz.at wrote:
>> Full_Name: Gerhard Thallinger
>> Version: 2.3.0; 2.2.0
>> OS: Windows XP
>> Submission from: (NULL) (212.183.54.87)
>>
>>
>> Invoking windows() with the parameter rescale="fixed" followed by plot.new()
>> or any other plot command causes very often the following error:
>>
>> windows(width=7, height=7, rescale="fixed");plot.new()
>> Error in plot.new() : outer margins too large (fig.region too small)
>>
>> The values in the width and height parameters seem not to have an influence.
>> Investigating the problem more deeply shows that certain values
>> in the device structure are set to 0 or have some invalid value
>> (bty, cex, ljoin, ... ) after the call to windows() when plot.new() fails.
>>
>> This indicates that the device structure is either not initialized properly
>> or gets clobbered somehow.
>>
>
> I can confirm the bug in R-devel. A workaround is to open the window
> without specifying "fixed", then in the menu, select fixed. That
> suggests to me something wasn't being initialized. I'll take a look...
I've taken a look, and tracked it down this far:
While setting up, the graphics device installs a callback called
HelpExpose that's called when drawing the window. For some reason I
haven't figured out, rescale="fixed" causes this to be called before the
window is ready, and junk in the structure leads to the error.
I won't be able to do any more on this for a couple of days.
Duncan Murdoch
More information about the R-devel
mailing list