Rev 1733: merge John's win32 fixes, fix segfault. in http://people.samba.org/bzr/jelmer/bzr-svn/trunk

Jelmer Vernooij jelmer at samba.org
Mon Nov 3 02:31:57 GMT 2008


At http://people.samba.org/bzr/jelmer/bzr-svn/trunk

------------------------------------------------------------
revno: 1733
revision-id: jelmer at samba.org-20081103023151-uq0avcijru3yv1ys
parent: jelmer at samba.org-20081103021504-g48y6yynberqulby
parent: john at arbash-meinel.com-20081030191211-3jxp7vj5lx1makmz
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.4
timestamp: Mon 2008-11-03 03:31:51 +0100
message:
  merge John's win32 fixes, fix segfault.
modified:
  editor.c                       editor.c-20080602191336-frj7az1sdk13o1tw-1
  editor.h                       editor.h-20080602191336-frj7az1sdk13o1tw-2
  ra.c                           ra.pyx-20080313140933-qybkqaxe3m4mcll7-1
  wc.c                           wc.pyx-20080313142018-10l8l23vha2j9e6b-1
    ------------------------------------------------------------
    revno: 1719.1.1
    revision-id: john at arbash-meinel.com-20081030191211-3jxp7vj5lx1makmz
    parent: jelmer at samba.org-20080924160103-8eaf0uaujrsnz7he
    committer: John Arbash Meinel <john at arbash-meinel.com>
    branch nick: 0.4.13-win32
    timestamp: Thu 2008-10-30 14:12:11 -0500
    message:
      We can't point directly at dll imported functions.
      
      So instead, create an 'initeditor()' function which initializes those
      members, and then call it when the module is loaded.
    modified:
      client.c                       client.pyx-20080313235339-wbyjbw2namuiql8f-1
      editor.c                       editor.c-20080602191336-frj7az1sdk13o1tw-1
=== modified file 'editor.c'
--- a/editor.c	2008-08-21 01:16:39 +0000
+++ b/editor.c	2008-10-30 19:12:11 +0000
@@ -137,7 +137,7 @@
 	
 	/* Methods to implement standard operations */
 	
-	(destructor)PyObject_Del, /*	destructor tp_dealloc;	*/
+	NULL, // done in initeditor() (destructor)PyObject_Del, /*	destructor tp_dealloc;	*/
 	NULL, /*	printfunc tp_print;	*/
 	NULL, /*	getattrfunc tp_getattr;	*/
 	NULL, /*	setattrfunc tp_setattr;	*/
@@ -235,7 +235,7 @@
 	
 	/* Methods to implement standard operations */
 	
-	(destructor)PyObject_Del, /*	destructor tp_dealloc;	*/
+	NULL, // Done in initeditor() (destructor)PyObject_Del, /*	destructor tp_dealloc;	*/
 	NULL, /*	printfunc tp_print;	*/
 	NULL, /*	getattrfunc tp_getattr;	*/
 	NULL, /*	setattrfunc tp_setattr;	*/
@@ -492,7 +492,7 @@
 	
 	/* Methods to implement standard operations */
 	
-	(destructor)PyObject_Del, /*	destructor tp_dealloc;	*/
+	NULL, // Done in initeditor() (destructor)PyObject_Del, /*	destructor tp_dealloc;	*/
 	NULL, /*	printfunc tp_print;	*/
 	NULL, /*	getattrfunc tp_getattr;	*/
 	NULL, /*	setattrfunc tp_setattr;	*/
@@ -688,3 +688,9 @@
 };
 
 
+void initeditor(void)
+{
+    TxDeltaWindowHandler_Type.tp_dealloc = (destructor)PyObject_Del;
+    FileEditor_Type.tp_dealloc = (destructor)PyObject_Del;
+    DirectoryEditor_Type.tp_dealloc = (destructor)PyObject_Del;
+}

=== modified file 'editor.h'
--- a/editor.h	2008-08-31 13:29:41 +0000
+++ b/editor.h	2008-11-03 02:31:51 +0000
@@ -41,4 +41,6 @@
 
 #pragma GCC visibility pop
 
+extern void initeditor(void);
+
 #endif /* _BZR_SVN_EDITOR_H_ */

=== modified file 'ra.c'
--- a/ra.c	2008-09-21 22:18:14 +0000
+++ b/ra.c	2008-11-03 02:31:51 +0000
@@ -2821,6 +2821,8 @@
 	if (PyType_Ready(&AuthProvider_Type) < 0)
 		return;
 
+	initeditor();
+
 	apr_initialize();
 	pool = Pool(NULL);
 	if (pool == NULL)

=== modified file 'wc.c'
--- a/wc.c	2008-08-31 13:29:41 +0000
+++ b/wc.c	2008-11-03 02:31:51 +0000
@@ -954,6 +954,8 @@
 	if (PyType_Ready(&TxDeltaWindowHandler_Type) < 0)
 		return;
 
+	initeditor();
+
 	apr_initialize();
 
 	mod = Py_InitModule3("wc", wc_methods, "Working Copies");




More information about the bazaar-commits mailing list