[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53357] trunk/blender/source/blender: revert r53356, this stopped the leak but still wasn't working nice.
Campbell Barton
ideasman42 at gmail.com
Fri Dec 28 11:08:18 CET 2012
Revision: 53357
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53357
Author: campbellbarton
Date: 2012-12-28 10:08:17 +0000 (Fri, 28 Dec 2012)
Log Message:
-----------
revert r53356, this stopped the leak but still wasn't working nice.
Add asserts when CTX_data_pointer_get/CTX_data_collection_get are incorrectly used.
disable context inspection for now, Will enable again when its working properly.
Revision Links:
--------------
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53356
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/context.c
trunk/blender/source/blender/windowmanager/intern/wm_operators.c
Modified: trunk/blender/source/blender/blenkernel/intern/context.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/context.c 2012-12-28 09:48:35 UTC (rev 53356)
+++ trunk/blender/source/blender/blenkernel/intern/context.c 2012-12-28 10:08:17 UTC (rev 53357)
@@ -29,6 +29,7 @@
#include <string.h>
+#include <stdlib.h>
#include <stddef.h>
#include "MEM_guardedalloc.h"
@@ -327,10 +328,13 @@
{
bContextDataResult result;
- if (C && ctx_data_get((bContext *)C, member, &result) == 1)
+ if (C && ctx_data_get((bContext *)C, member, &result) == 1) {
+ BLI_assert(result.type == CTX_DATA_TYPE_POINTER);
return result.ptr.data;
-
- return NULL;
+ }
+ else {
+ return NULL;
+ }
}
static int ctx_data_pointer_verify(const bContext *C, const char *member, void **pointer)
@@ -343,6 +347,7 @@
return 1;
}
else if (ctx_data_get((bContext *)C, member, &result) == 1) {
+ BLI_assert(result.type == CTX_DATA_TYPE_POINTER);
*pointer = result.ptr.data;
return 1;
}
@@ -357,6 +362,7 @@
bContextDataResult result;
if (ctx_data_get((bContext *)C, member, &result) == 1) {
+ BLI_assert(result.type == CTX_DATA_TYPE_COLLECTION);
*list = result.list;
return 1;
}
@@ -372,11 +378,12 @@
bContextDataResult result;
if (ctx_data_get((bContext *)C, member, &result) == 1) {
- BLI_freelistN(&result.list);
+ BLI_assert(result.type == CTX_DATA_TYPE_POINTER);
return result.ptr;
}
- else
+ else {
return PointerRNA_NULL;
+ }
}
PointerRNA CTX_data_pointer_get_type(const bContext *C, const char *member, StructRNA *type)
@@ -401,6 +408,7 @@
bContextDataResult result;
if (ctx_data_get((bContext *)C, member, &result) == 1) {
+ BLI_assert(result.type == CTX_DATA_TYPE_COLLECTION);
return result.list;
}
else {
Modified: trunk/blender/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_operators.c 2012-12-28 09:48:35 UTC (rev 53356)
+++ trunk/blender/source/blender/windowmanager/intern/wm_operators.c 2012-12-28 10:08:17 UTC (rev 53357)
@@ -583,7 +583,7 @@
for (link = lb.first; link; link = link->next) {
const char *identifier = link->data;
- PointerRNA ctx_item_ptr = CTX_data_pointer_get(C, identifier);
+ PointerRNA ctx_item_ptr = {{0}}; // CTX_data_pointer_get(C, identifier);
if (ctx_item_ptr.type == NULL) {
continue;
More information about the Bf-blender-cvs
mailing list