Commit: 44aad48ea0c20da89d4ce8b1e6f0e1a5a25c4f5e
Author: Antonio Vazquez
Date:   Tue Jun 13 16:08:47 2017 +0200
Branches: greasepencil-object
https://developer.blender.org/rB44aad48ea0c20da89d4ce8b1e6f0e1a5a25c4f5e

Fix warnings for copy paste

The merge code from master used the old BGPDpalette and the code must use the 
new Palette

===================================================================

M       source/blender/editors/gpencil/gpencil_brush.c
M       source/blender/editors/gpencil/gpencil_edit.c
M       source/blender/editors/gpencil/gpencil_intern.h

===================================================================

diff --git a/source/blender/editors/gpencil/gpencil_brush.c 
b/source/blender/editors/gpencil/gpencil_brush.c
index 27a22a969c3..18d853c4ef1 100644
--- a/source/blender/editors/gpencil/gpencil_brush.c
+++ b/source/blender/editors/gpencil/gpencil_brush.c
@@ -864,7 +864,7 @@ static void gp_brush_clone_init(bContext *C, 
tGP_BrushEditData *gso)
        /* Init colormap for mapping between the pasted stroke's source 
colour(names)
         * and the final colours that will be used here instead...
         */
-       data->new_colors = gp_copybuf_validate_colormap(gso->gpd);
+       data->new_colors = gp_copybuf_validate_colormap(C, gso->gpd);
 }
 
 /* Free custom data used for "clone" brush */
diff --git a/source/blender/editors/gpencil/gpencil_edit.c 
b/source/blender/editors/gpencil/gpencil_edit.c
index 14d947b059f..fb27c5732fa 100644
--- a/source/blender/editors/gpencil/gpencil_edit.c
+++ b/source/blender/editors/gpencil/gpencil_edit.c
@@ -609,34 +609,34 @@ void ED_gpencil_strokes_copybuf_free(void)
 /* Ensure that destination datablock has all the colours the pasted strokes 
need
  * Helper function for copy-pasting strokes
  */
-GHash *gp_copybuf_validate_colormap(bGPdata *gpd)
+GHash *gp_copybuf_validate_colormap(bContext *C, bGPdata *gpd)
 {
        GHash *new_colors = BLI_ghash_str_new("GPencil Paste Dst Colors");
        GHashIterator gh_iter;
        
        /* If there's no active palette yet (i.e. new datablock), add one */
-       bGPDpalette *palette = BKE_gpencil_palette_getactive(gpd);
+       Palette *palette = BKE_palette_get_active_from_context(C);
        if (palette == NULL) {
-               palette = BKE_gpencil_palette_addnew(gpd, "Pasted Palette", 
true);
+               palette = BKE_palette_add_gpencil(C);
        }
        
        /* For each color, figure out what to map to... */
        GHASH_ITER(gh_iter, gp_strokes_copypastebuf_colors) {
-               bGPDpalettecolor *palcolor;
+               PaletteColor *palcolor;
                char *name = BLI_ghashIterator_getKey(&gh_iter);
                
                /* Look for existing color to map to */
                /* XXX: What to do if same name but different color? Behaviour 
here should depend on a property? */
-               palcolor = BKE_gpencil_palettecolor_getbyname(palette, name);
+               palcolor = BKE_palette_color_getbyname(palette, name);
                if (palcolor == NULL) {
                        /* Doesn't Exist - Create new matching color for this 
palette */
                        /* XXX: This still doesn't fix the pasting across file 
boundaries problem... */
-                       bGPDpalettecolor *src_color = 
BLI_ghashIterator_getValue(&gh_iter);
+                       PaletteColor *src_color = 
BLI_ghashIterator_getValue(&gh_iter);
                        
                        palcolor = MEM_dupallocN(src_color);
                        BLI_addtail(&palette->colors, palcolor);
                        
-                       BLI_uniquename(&palette->colors, palcolor, DATA_("GP 
Color"), '.', offsetof(bGPDpalettecolor, info), sizeof(palcolor->info));
+                       BLI_uniquename(&palette->colors, palcolor, DATA_("GP 
Color"), '.', offsetof(PaletteColor, info), sizeof(palcolor->info));
                }
                
                /* Store this mapping (for use later when pasting) */
@@ -711,19 +711,16 @@ static int gp_strokes_copy_exec(bContext *C, wmOperator 
*op)
        if (gp_strokes_copypastebuf.first) {
                gp_strokes_copypastebuf_colors = BLI_ghash_str_new("GPencil 
CopyBuf Colors");
                
-               /* TODO: this code must be review because this is not relevant 
now and use Blender Palettes */
-#if 0
                for (bGPDstroke *gps = gp_strokes_copypastebuf.first; gps; gps 
= gps->next) {
                        if (ED_gpencil_stroke_can_use(C, gps)) {
                                if 
(BLI_ghash_haskey(gp_strokes_copypastebuf_colors, gps->colorname) == false) {
-                                       bGPDpalettecolor *color = 
MEM_dupallocN(gps->palcolor);
+                                       PaletteColor *color = 
MEM_dupallocN(gps->palcolor);
                                        
                                        
BLI_ghash_insert(gp_strokes_copypastebuf_colors, gps->colorname, color);
                                        gps->palcolor = color;
                                }
                        }
                }
-#endif
        }
        
        /* updates (to ensure operator buttons are refreshed, when used via 
hotkeys) */
@@ -833,7 +830,7 @@ static int gp_strokes_paste_exec(bContext *C, wmOperator 
*op)
        CTX_DATA_END;
        
        /* Ensure that all the necessary colors exist */
-       new_colors = gp_copybuf_validate_colormap(gpd);
+       new_colors = gp_copybuf_validate_colormap(C, gpd);
                
        /* Copy over the strokes from the buffer (and adjust the colors) */
        for (bGPDstroke *gps = gp_strokes_copypastebuf.first; gps; gps = 
gps->next) {
diff --git a/source/blender/editors/gpencil/gpencil_intern.h 
b/source/blender/editors/gpencil/gpencil_intern.h
index 6d7f86c01b2..b8490544d75 100644
--- a/source/blender/editors/gpencil/gpencil_intern.h
+++ b/source/blender/editors/gpencil/gpencil_intern.h
@@ -156,7 +156,7 @@ int gp_brush_crt_presets_poll(bContext *C);
 extern ListBase gp_strokes_copypastebuf;
 
 /* Build a map for converting between old colornames and 
destination-color-refs */
-struct GHash *gp_copybuf_validate_colormap(bGPdata *gpd);
+struct GHash *gp_copybuf_validate_colormap(struct bContext *C, struct bGPdata 
*gpd);
 
 /* Stroke Editing ------------------------------------ */

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to