The R Project SVN R

Rev

Rev 46214 | Rev 47366 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 46214 Rev 46988
Line 1518... Line 1518...
1518
    PROTECT(retval = do_External(call, op, args, env));
1518
    PROTECT(retval = do_External(call, op, args, env));
1519
    /*
1519
    /*
1520
     * If there is an error or user-interrupt in the above
1520
     * If there is an error or user-interrupt in the above
1521
     * evaluation, dd->recordGraphics is set to TRUE
1521
     * evaluation, dd->recordGraphics is set to TRUE
1522
     * on all graphics devices (see GEonExit(); called in errors.c)
1522
     * on all graphics devices (see GEonExit(); called in errors.c)
-
 
1523
     * 
-
 
1524
     * NOTE: if someone uses try() around this call and there
-
 
1525
     * is an error, then dd->recordGraphics stays FALSE, so
-
 
1526
     * subsequent pages of graphics output are NOT saved on
-
 
1527
     * the display list.  A workaround is to deliberately
-
 
1528
     * force an error in a graphics call (e.g., a grid popViewport()
-
 
1529
     * while in the ROOT viewport) which will reset dd->recordGraphics
-
 
1530
     * to TRUE as per the comment above.
1523
     */
1531
     */
1524
    dd->recordGraphics = record;
1532
    dd->recordGraphics = record;
1525
    if (GErecording(call, dd)) {
1533
    if (GErecording(call, dd)) {
1526
	if (!GEcheckState(dd))
1534
	if (!GEcheckState(dd))
1527
	    errorcall(call, _("Invalid graphics state"));
1535
	    errorcall(call, _("Invalid graphics state"));
Line 1540... Line 1548...
1540
    PROTECT(retval = do_dotcall(call, op, args, env));
1548
    PROTECT(retval = do_dotcall(call, op, args, env));
1541
    /*
1549
    /*
1542
     * If there is an error or user-interrupt in the above
1550
     * If there is an error or user-interrupt in the above
1543
     * evaluation, dd->recordGraphics is set to TRUE
1551
     * evaluation, dd->recordGraphics is set to TRUE
1544
     * on all graphics devices (see GEonExit(); called in errors.c)
1552
     * on all graphics devices (see GEonExit(); called in errors.c)
-
 
1553
     * 
-
 
1554
     * NOTE: if someone uses try() around this call and there
-
 
1555
     * is an error, then dd->recordGraphics stays FALSE, so
-
 
1556
     * subsequent pages of graphics output are NOT saved on
-
 
1557
     * the display list.  A workaround is to deliberately
-
 
1558
     * force an error in a graphics call (e.g., a grid popViewport()
-
 
1559
     * while in the ROOT viewport) which will reset dd->recordGraphics
-
 
1560
     * to TRUE as per the comment above.
1545
     */
1561
     */
1546
    dd->recordGraphics = record;
1562
    dd->recordGraphics = record;
1547
    if (GErecording(call, dd)) {
1563
    if (GErecording(call, dd)) {
1548
	if (!GEcheckState(dd))
1564
	if (!GEcheckState(dd))
1549
	    errorcall(call, _("Invalid graphics state"));
1565
	    errorcall(call, _("Invalid graphics state"));