Pass dynmar as explicit argument #475
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #474
I tracked the issue down to the fact the
draw_facet_window
(here) is actually being called twice and, during the second time, it's dropping thetpar
hooks.While I'm not 100% certain of the mechanics, I'm pretty confident that this is another
recordGraphics
/replayGraphics
gotcha. (Side note: I think this only appears to affect"dynmar"
among all of the sundrytpar
parameters, because the rest are handled by native hooks that kick in onceplot.new()
is called.)At any rate, the simple solution that I use here is just to pass
dynmar
as an explicit argument inrecordGraphics(draw_facet_window, list(..., dynmar = get_par("dynmar"))
. I thought about passing the wholetpar()
list as an argument, since we actually extract othertpar
parameters as part of the same function, but erred on the conservative side since onlydynmar
appears to be affected.