[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33353] trunk/blender/source/blender/ editors/interface/interface_handlers.c: bugfix [#24944] Crash on attempting to keyframe HSV color
Campbell Barton
ideasman42 at gmail.com
Sat Nov 27 19:30:56 CET 2010
Revision: 33353
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33353
Author: campbellbarton
Date: 2010-11-27 19:30:56 +0100 (Sat, 27 Nov 2010)
Log Message:
-----------
bugfix [#24944] Crash on attempting to keyframe HSV color
prevent eternal loop
Modified Paths:
--------------
trunk/blender/source/blender/editors/interface/interface_handlers.c
Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_handlers.c 2010-11-27 12:48:35 UTC (rev 33352)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c 2010-11-27 18:30:56 UTC (rev 33353)
@@ -4938,17 +4938,16 @@
void uiContextActiveProperty(const bContext *C, struct PointerRNA *ptr, struct PropertyRNA **prop, int *index)
{
ARegion *ar= CTX_wm_region(C);
- uiBlock *block;
- uiBut *but, *activebut;
memset(ptr, 0, sizeof(*ptr));
*prop= NULL;
*index= 0;
while(ar) {
+ uiBlock *block;
+ uiBut *but, *activebut= NULL;
+
/* find active button */
- activebut= NULL;
-
for(block=ar->uiblocks.first; block; block=block->next) {
for(but=block->buttons.first; but; but= but->next) {
if(but->active)
@@ -4958,21 +4957,21 @@
}
}
- if(activebut) {
- if(activebut->rnapoin.data) {
- uiHandleButtonData *data= activebut->active;
-
- /* found RNA button */
- *ptr= activebut->rnapoin;
- *prop= activebut->rnaprop;
- *index= activebut->rnaindex;
-
- /* recurse into opened menu, like colorpicker case */
- if(data && data->menu)
- ar = data->menu->region;
- else
- return;
+ if(activebut && activebut->rnapoin.data) {
+ uiHandleButtonData *data= activebut->active;
+
+ /* found RNA button */
+ *ptr= activebut->rnapoin;
+ *prop= activebut->rnaprop;
+ *index= activebut->rnaindex;
+
+ /* recurse into opened menu, like colorpicker case */
+ if(data && data->menu && (ar != data->menu->region)) {
+ ar = data->menu->region;
}
+ else {
+ return;
+ }
}
else {
/* no active button */
More information about the Bf-blender-cvs
mailing list