diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-09-26 17:17:47 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-09-26 17:17:47 +0400 |
commit | fae7dd22c77bae06af4082aaac205a9a3e46014c (patch) | |
tree | e1c0549a5c1d524d6efa3382a9e8e14d86afd4b6 /source/blender/imbuf | |
parent | 36966ccfebeb3c91cf17a9cb4dba91d4390f6890 (diff) |
Color Management: resolve warnings when OCIO configuration file misses None display
Diffstat (limited to 'source/blender/imbuf')
-rw-r--r-- | source/blender/imbuf/IMB_colormanagement.h | 1 | ||||
-rw-r--r-- | source/blender/imbuf/intern/IMB_colormanagement_intern.h | 1 | ||||
-rw-r--r-- | source/blender/imbuf/intern/colormanagement.c | 25 |
3 files changed, 22 insertions, 5 deletions
diff --git a/source/blender/imbuf/IMB_colormanagement.h b/source/blender/imbuf/IMB_colormanagement.h index 26fc61159c4..e2604241caf 100644 --- a/source/blender/imbuf/IMB_colormanagement.h +++ b/source/blender/imbuf/IMB_colormanagement.h @@ -108,6 +108,7 @@ int IMB_colormanagement_display_get_named_index(const char *name); const char *IMB_colormanagement_display_get_indexed_name(int index); const char *IMB_colormanagement_display_get_default_name(void); struct ColorManagedDisplay *IMB_colormanagement_display_get_named(const char *name); +const char *IMB_colormanagement_display_get_none_name(void); /* ** View funcrions ** */ int IMB_colormanagement_view_get_named_index(const char *name); diff --git a/source/blender/imbuf/intern/IMB_colormanagement_intern.h b/source/blender/imbuf/intern/IMB_colormanagement_intern.h index 648dd735bbe..35a6ea9b207 100644 --- a/source/blender/imbuf/intern/IMB_colormanagement_intern.h +++ b/source/blender/imbuf/intern/IMB_colormanagement_intern.h @@ -74,6 +74,7 @@ void colormanagement_exit(void); void colormanage_cache_free(struct ImBuf *ibuf); +const char *colormanage_display_get_default_name(void); struct ColorManagedDisplay *colormanage_display_get_default(void); struct ColorManagedDisplay *colormanage_display_add(const char *name); struct ColorManagedDisplay *colormanage_display_get_named(const char *name); diff --git a/source/blender/imbuf/intern/colormanagement.c b/source/blender/imbuf/intern/colormanagement.c index d8e8b4dab8b..cb03654ad6a 100644 --- a/source/blender/imbuf/intern/colormanagement.c +++ b/source/blender/imbuf/intern/colormanagement.c @@ -1893,10 +1893,10 @@ void IMB_display_buffer_release(void *cache_handle) /*********************** Display functions *************************/ -ColorManagedDisplay *colormanage_display_get_default(void) +const char *colormanage_display_get_default_name(void) { ConstConfigRcPtr *config = OCIO_getCurrentConfig(); - const char *display; + const char *display_name; if (!config) { /* no valid OCIO configuration, can't get default display */ @@ -1904,14 +1904,21 @@ ColorManagedDisplay *colormanage_display_get_default(void) return NULL; } - display = OCIO_configGetDefaultDisplay(config); + display_name = OCIO_configGetDefaultDisplay(config); OCIO_configRelease(config); - if (display[0] == '\0') + return display_name; +} + +ColorManagedDisplay *colormanage_display_get_default(void) +{ + const char *display_name = colormanage_display_get_default_name(); + + if (display_name[0] == '\0') return NULL; - return colormanage_display_get_named(display); + return colormanage_display_get_named(display_name); } ColorManagedDisplay *colormanage_display_add(const char *name) @@ -1993,6 +2000,14 @@ ColorManagedDisplay *IMB_colormanagement_display_get_named(const char *name) return colormanage_display_get_named(name); } +const char *IMB_colormanagement_display_get_none_name(void) +{ + if (colormanage_display_get_named("None") != NULL) + return "NULL"; + + return colormanage_display_get_default_name(); +} + /*********************** View functions *************************/ const char *colormanage_view_get_default_name(const ColorManagedDisplay *display) |