[rkward-cvs] SF.net SVN: rkward:[3105] trunk/rkward
tfry at users.sourceforge.net
tfry at users.sourceforge.net
Tue Oct 5 07:07:39 UTC 2010
Revision: 3105
http://rkward.svn.sourceforge.net/rkward/?rev=3105&view=rev
Author: tfry
Date: 2010-10-05 07:07:39 +0000 (Tue, 05 Oct 2010)
Log Message:
-----------
Fix more place for the wrong assumption that there is always a command running, when something happens in the backend.
Second half of a fix for https://sourceforge.net/tracker/?func=detail&atid=459007&aid=3081071&group_id=50231 .
Modified Paths:
--------------
trunk/rkward/TODO
trunk/rkward/rkward/rbackend/rcommandstack.cpp
trunk/rkward/rkward/rbackend/rthread.cpp
Modified: trunk/rkward/TODO
===================================================================
--- trunk/rkward/TODO 2010-10-04 20:10:40 UTC (rev 3104)
+++ trunk/rkward/TODO 2010-10-05 07:07:39 UTC (rev 3105)
@@ -37,6 +37,9 @@
- cleanup DISABLE_RKWINDOWCATCHER (either get rid of it, or do it right)
- eventually the whole RData-structure should be made to use QList-types
+R backend:
+ - tcl/tk can evaluate all sorts of R stuff, even if there is no "command". It would help, if we simply defined a "default" command to be active at such times.
+
UI-stuff
- find/create a set of menu icons (https://sourceforge.net/mailarchive/message.php?msg_id=37891606)
- "First-run wizard"
@@ -241,12 +244,6 @@
- X11->Export:
- provide SVG export option
- provide context menu / other UI to export to different formats / edit
- - PHP-backend:
- - http://de3.php.net/manual/en/function.call-user-func.php seems to be faster than eval
- - find out why an error in the backend often leads to a subsequent crash
- - it might be possible to create only one "master" PHP process, and fork off child processes as needed from that (pcntl_fork() in PHP).
- - Do some timing, on how much faster this would actually be
- - The main drawback is that communication could no longer go via stdin/out, but some other mechanism would be needed. This would also mean ditching KProcess, and using perhaps QTcpServer/Socket.
- plugins (general)
- ODS filter (try to find someone to implement one in R)
- formula-widget:
Modified: trunk/rkward/rkward/rbackend/rcommandstack.cpp
===================================================================
--- trunk/rkward/rkward/rbackend/rcommandstack.cpp 2010-10-04 20:10:40 UTC (rev 3104)
+++ trunk/rkward/rkward/rbackend/rcommandstack.cpp 2010-10-05 07:07:39 UTC (rev 3105)
@@ -2,7 +2,7 @@
rcommandstack - description
-------------------
begin : Mon Sep 6 2004
- copyright : (C) 2004, 2007 by Thomas Friedrichsmeier
+ copyright : (C) 2004, 2007, 2010 by Thomas Friedrichsmeier
email : tfry at users.sourceforge.net
***************************************************************************/
@@ -520,7 +520,7 @@
RK_ASSERT (!RInterface::inRThread ());
QModelIndex parent_index = indexFor (parent);
- if (parent->commandPointer ()) {
+ if ((!parent) || parent->commandPointer ()) {
beginInsertRows (parent_index, 0, 0);
} else {
// items are always added at the end
Modified: trunk/rkward/rkward/rbackend/rthread.cpp
===================================================================
--- trunk/rkward/rkward/rbackend/rthread.cpp 2010-10-04 20:10:40 UTC (rev 3104)
+++ trunk/rkward/rkward/rbackend/rthread.cpp 2010-10-05 07:07:39 UTC (rev 3105)
@@ -390,8 +390,8 @@
if (call.count () == 2) { // schedule symbol update for later
if (call[0] == "ws") {
- RK_ASSERT (current_command);
- if ((current_command->type () & RCommand::ObjectListUpdate) || (!(current_command->type () & RCommand::Sync))) { // ignore Sync commands that are not flagged as ObjectListUpdate
+ // always keep in mind: No current command can happen for tcl/tk events.
+ if ((!current_command) || (current_command->type () & RCommand::ObjectListUpdate) || (!(current_command->type () & RCommand::Sync))) { // ignore Sync commands that are not flagged as ObjectListUpdate
if (!changed_symbol_names.contains (call[1])) changed_symbol_names.append (call[1]);
}
return;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the rkward-tracker
mailing list