[Rd] Plot window does not update in embedded code

Simon Urbanek simon.urbanek at r-project.org
Wed Jul 21 22:52:15 CEST 2010


On Jul 21, 2010, at 4:28 PM, Simon Urbanek wrote:

> Use
> R_CheckUserInterrupt()
> 

Actually, the above is true but assumes that you're running R's REPL and not your own R_ReadConsole (it will work even in your ReadConsole but unix handlers are not run in that case so only some events will work).


> The code below is very fragile and unix-specific.
> 

That is true, too, but even after R_ProcessEvenrts refactorization the handlers are still-unix specific so I stand corrected and you still have to run handlers manually (note that you don't need PolledEvents anymore since they are part of the handlers).

Cheers,
Simon


>> 
>> On Wednesday 21 July 2010, Jan van der Laan wrote:
>>> How do I ensure that the windows keep being updated?
>> 
>> in RKWard we run the following periodically during idle phases:
>> 
>> 
>> // this basically copied from R's unix/sys-std.c (Rstd_ReadConsole)
>> #ifndef Q_WS_WIN
>> 	for (;;) {
>> 		fd_set *what;
>> 		what = R_checkActivityEx(R_wait_usec > 0 ? R_wait_usec : 50, 1, 
>> Rf_onintr);
>> 		R_runHandlers(R_InputHandlers, what);
>> 		if (what == NULL) break;
>> 	}
>> 	/* This seems to be needed to make Rcmdr react to events. Has this always 
>> been the case? It was commented out for a long time, without anybody noticing. 
>> */
>> 	R_PolledEvents ();
>> #else
>> 	R_ProcessEvents();
>> #endif
>> 
>> 
>> Regards
>> Thomas
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
> 
> 



More information about the R-devel mailing list