[rkward-cvs] SF.net SVN: rkward:[2641] trunk/rkward

tfry at users.sourceforge.net tfry at users.sourceforge.net
Thu Sep 3 09:41:31 UTC 2009


Revision: 2641
          http://rkward.svn.sourceforge.net/rkward/?rev=2641&view=rev
Author:   tfry
Date:     2009-09-03 09:41:30 +0000 (Thu, 03 Sep 2009)

Log Message:
-----------
Fix package loading crashes on windows.
Unfortunately, this does not fix RGtk2 on Linux, but still probably correct for Linux as well.

Modified Paths:
--------------
    trunk/rkward/ChangeLog
    trunk/rkward/rkward/rbackend/rembedinternal.cpp

Modified: trunk/rkward/ChangeLog
===================================================================
--- trunk/rkward/ChangeLog	2009-09-03 09:31:58 UTC (rev 2640)
+++ trunk/rkward/ChangeLog	2009-09-03 09:41:30 UTC (rev 2641)
@@ -1,3 +1,4 @@
+- Fix crash when loading certain packages on Windows
 - Fix some potential path issues on Windows
 - "Analysis" menu was restructured, slightly
 - Debug output (previously sent to stderr) is now written to a temporary file

Modified: trunk/rkward/rkward/rbackend/rembedinternal.cpp
===================================================================
--- trunk/rkward/rkward/rbackend/rembedinternal.cpp	2009-09-03 09:31:58 UTC (rev 2640)
+++ trunk/rkward/rkward/rbackend/rembedinternal.cpp	2009-09-03 09:41:30 UTC (rev 2641)
@@ -815,6 +815,8 @@
 	};
 	R_registerRoutines (R_getEmbeddingDllInfo(), NULL, callMethods, NULL, NULL);
 
+	connectCallbacks();
+
 	return true;
 }
 
@@ -958,7 +960,8 @@
 void REmbedInternal::runCommandInternal (const QString &command_qstring, RKWardRError *error, bool print_result) {
 	RK_TRACE (RBACKEND);
 
-	connectCallbacks ();		// sorry, but we will not play nicely with additional frontends trying to override our callbacks. (Unless they start their own R event loop, then they should be fine)
+	// Apparently the line below is no good idea after all. At least on Windows, this causes issues (crashes) with RGtk2, and several methods-using libraries
+	//connectCallbacks ();		// sorry, but we will not play nicely with additional frontends trying to override our callbacks. (Unless they start their own R event loop, then they should be fine)
 
 	*error = NoError;
 	if (!print_result) {


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