[Bf-blender-cvs] [9a670a67d25] blender2.8: Fix for assert when sampling color to non-existent palette

Dalai Felinto noreply at git.blender.org
Tue Oct 9 14:43:50 CEST 2018


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)
 {



More information about the Bf-blender-cvs mailing list