Commit: 9a670a67d25f54f2f70f1056cfa8823f6817fd22
Author: Dalai Felinto
Date:   Tue Oct 9 12:42:02 2018 +0000
Branches: blender2.8
https://developer.blender.org/rB9a670a67d25f54f2f70f1056cfa8823f6817fd22

Fix for assert when sampling color to non-existent palette

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

M       source/blender/blenkernel/BKE_paint.h
M       source/blender/blenkernel/intern/library.c
M       source/blender/blenkernel/intern/paint.c

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

diff --git a/source/blender/blenkernel/BKE_paint.h 
b/source/blender/blenkernel/BKE_paint.h
index d2d09609221..3782d26fc1b 100644
--- a/source/blender/blenkernel/BKE_paint.h
+++ b/source/blender/blenkernel/BKE_paint.h
@@ -104,6 +104,7 @@ void BKE_paint_reset_overlay_invalid(eOverlayControlFlags 
flag);
 void BKE_paint_set_overlay_override(enum eOverlayFlags flag);
 
 /* palettes */
+void                 BKE_palette_init(struct Palette *palette);
 void                 BKE_palette_free(struct Palette *palette);
 struct Palette      *BKE_palette_add(struct Main *bmain, const char *name);
 void BKE_palette_copy_data(
diff --git a/source/blender/blenkernel/intern/library.c 
b/source/blender/blenkernel/intern/library.c
index a209b2ac1d7..84aa0ed962b 100644
--- a/source/blender/blenkernel/intern/library.c
+++ b/source/blender/blenkernel/intern/library.c
@@ -1373,6 +1373,9 @@ void BKE_libblock_init_empty(ID *id)
                        /* Should not be needed - animation from lib pre-2.5 is 
broken anyway. */
                        BLI_assert(0);
                        break;
+               case ID_PAL:
+                       BKE_palette_init((Palette *)id);
+                       break;
                default:
                        BLI_assert(0);  /* Should never reach this point... */
        }
diff --git a/source/blender/blenkernel/intern/paint.c 
b/source/blender/blenkernel/intern/paint.c
index 070f5daa019..545581e65ec 100644
--- a/source/blender/blenkernel/intern/paint.c
+++ b/source/blender/blenkernel/intern/paint.c
@@ -398,10 +398,6 @@ void BKE_palette_clear(Palette *palette)
 Palette *BKE_palette_add(Main *bmain, const char *name)
 {
        Palette *palette = BKE_id_new(bmain, ID_PAL, name);
-
-       /* enable fake user by default */
-       id_fake_user_set(&palette->id);
-
        return palette;
 }
 
@@ -430,6 +426,12 @@ void BKE_palette_make_local(Main *bmain, Palette *palette, 
const bool lib_local)
        BKE_id_make_local_generic(bmain, &palette->id, true, lib_local);
 }
 
+void BKE_palette_init(Palette *palette)
+{
+       /* Enable fake user by default. */
+       id_fake_user_set(&palette->id);
+}
+
 /** Free (or release) any data used by this palette (does not free the palette 
itself). */
 void BKE_palette_free(Palette *palette)
 {

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

Reply via email to