Color picker crash fix.
authorMartin Poirier <theeth@yahoo.com>
Sat, 9 Jan 2010 19:00:41 +0000 (19:00 +0000)
committerMartin Poirier <theeth@yahoo.com>
Sat, 9 Jan 2010 19:00:41 +0000 (19:00 +0000)
Color arrays in RNA are 4 floats but handlers used 3 floats. Overflow galore.

source/blender/editors/interface/interface_intern.h
source/blender/editors/interface/interface_regions.c

index 5dec1e7f075621c2fff225d4c0a2b55c11551684..aec48b5c7c72c5bbcf65fcf4cdc37764e76eaf49 100644 (file)
@@ -377,7 +377,7 @@ struct uiPopupBlockHandle {
        int butretval;
        int menuretval;
        float retvalue;
-       float retvec[3];
+       float retvec[4];
 };
 
 uiBlock *ui_block_func_COL(struct bContext *C, uiPopupBlockHandle *handle, void *arg_but);
index c7ea06e2166c8ff47037d69c712506808ec8a743..812a1e6882b5cbf17ae8eddae98ee5079d332ef9 100644 (file)
@@ -1597,7 +1597,7 @@ static void do_picker_rna_cb(bContext *C, void *bt1, void *unused)
        uiPopupBlockHandle *popup= but->block->handle;
        PropertyRNA *prop = but->rnaprop;
        PointerRNA ptr = but->rnapoin;
-       float rgb[3];
+       float rgb[4];
        
        if (&ptr && prop) {
                RNA_property_float_get_array(&ptr, prop, rgb);